【问题标题】:Strange side effect of a PHP post query code in WordpressWordpress 中 PHP 后查询代码的奇怪副作用
【发布时间】:2018-04-19 18:28:57
【问题描述】:

为什么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' );

此代码应该只影响博客和存档页面中的帖子,这是为什么呢?

【问题讨论】:

    标签: php wordpress menu blogs posts


    【解决方案1】:

    它不起作用的原因是因为你在问:

    • 如果$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()

    【讨论】:

    • 该代码以前可以工作,问题不在于代码本身,而是它的副作用是完全改变了移动版本的导航,显然在桌面宽度上具有“display:none;”所以最后我有正确的帖子查询,但没有主菜单。这很奇怪。
    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 2017-08-29
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多