这不起作用的原因是,您试图使用未定义的变量,这些变量在函数外部声明,因此,如果不在它们前面加上global
关键字。
如果你有error_reporting
启用后,您将看到如下警告:
注意:未定义变量:current\\u user in/。。。在线11
注意:未定义变量:author\\u id in/。。。在线11
通过设置启用调试WP_DEBUG
到true
在您的wp-config.php
文件
添加global
关键字将使变量可以从函数中访问:
function showSidebarWhenNeeded()
{
global $current_user;
global $author_id;
if ( $current_user->ID !== $author_id ) {
// ...
}
}
相反,我会在函数中设置变量:
function showSidebarWhenNeeded($post_id)
{
$author_id = get_post_field ( \'post_author\', $post_id );
$current_user = wp_get_current_user();
if ( $current_user->ID !== $author_id ) {
// ...
}
}