此代码工作正常
function exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'cat\', \'-1\' );
}
}
add_action( \'pre_get_posts\', \'exclude_category\' );
但是这个代码根本不起作用
$caid = "-1";
function exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'cat\', $caid );
}
}
add_action( \'pre_get_posts\', \'exclude_category\' );
最合适的回答,由SO网友:tfrommen 整理而成
$caid
函数内部未知,除非声明为全局。
$caid = \'-1\';
function exclude_category( $query ) {
global $caid;
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'cat\', $caid );
}
}
add_action( \'pre_get_posts\', \'exclude_category\' );
// Edit是否需要函数外部的变量?如果没有,只需将其移动到函数内部,然后您可以操作
global
.
PHP: Variable scope