为什么functions.php中的这段代码会产生这种奇怪的副作用,即在wordpress的非主页中将菜单切换到移动版本?
function my_blog_category( $query ) {
if ( $query->is_home() && !is_front_page() || is_archive()) {
$query->set( 'cat', '6');
}
}
add_action( 'pre_get_posts', 'my_blog_category' );
此代码应仅影响博客和存档页面中的帖子,为什么会这样?
答案 0 :(得分:0)
它不起作用的原因是因为你问:
$query->is_home() && !is_front_page()
is_archive()
使用括号对条件表达式进行分组。
function my_blog_category( $query ) {
if ( $query->is_home() && ( !is_front_page() || is_archive() ) ) {
$query->set( 'cat', '6');
}
}
add_action( 'pre_get_posts', 'my_blog_category' );
现在你问:
$query->is_home()
!is_front_page()
或is_archive()