【发布时间】:2017-09-22 01:05:03
【问题描述】:
这是我的问题。 我创建了一个管理页面,在其中显示不同的数据列表: 示例:
echo '<div> <p><a href="http://example.com/admin-bar/request_data_by_query/change-request-data.php?id='.$name['id'].'" target="_blank">'. $name['name']. '</a></p> </div>';
以下代码在此页面上运行良好:
if ( ! is_admin() ) {
echo "You are viewing the theme";
} else {
echo "You are viewing the WordPress Administration Panels";
}
它给了我答案,因为它看到我是用户,我是管理员。
正如您在我的 href 中看到的,我将 GET 方法数据发送到文件 change-request-data.php。 在这个文件中,我得到了我的 GET id 并显示了一个 id=x 的表单。
<?php
include "../../wp-load.php";
global $wpdb;
$request_id_data = $wpdb->get_results("SELECT * FROM request_info where id=$request_id ORDER BY name ASC;", ARRAY_A);
还有其他的……
我的问题是,如果我尝试在这个 php 文件中使用 is_admin 代码,它会说我不是管理员。 在这个 php 文件中,像 is_admin 这样的函数不起作用,例如 get_current_user_id() 会给我 0,但我不是 0... 我该如何解释 Wordpress,这个 php 文件也是他的一部分,他可以在这里使用登录会话或类似的东西?
【问题讨论】:
-
对wordpress不太熟悉,但是is_admin()函数位于wp-includes/load.php中也可以试试
-
该 URL 是否与 wordpress 服务器在同一个域中?听起来 cookie/会话无法正常工作。