【问题标题】:How to remove category post from Archive page in Genesis Wordpress如何从 Genesis Wordpress 的存档页面中删除类别帖子
【发布时间】:2018-03-05 03:32:02
【问题描述】:

文章元素是该类别[服务]中的帖子,我的问题是除了显示:无;这篇文章,如何使用 Genesis 方式或钩子删除 Genesis Wordpress 中类别页面中的那些帖子。

【问题讨论】:

    标签: wordpress genesis


    【解决方案1】:

    在 Genesis 中,您应该能够转到 Genesis > 主题设置,在博客页面模板下,您可以根据 ID 从博客页面中排除帖子。

    如果您的子主题不支持该选项,您只是想要一个更通用的解决方案,这里有一些不是 Genesis 特定的代码 - 将其添加到您的 functions.php 文件中。在运行之前,它将检查以确保它是 am 存档页面上的主要帖子查询。只需将 100 替换为您要删除的类别 ID(确保保留减号)

    <?php
        add_action( 'pre_get_posts', 'marky939_remove_cat' );
        function marky939_remove_cat( $query ){
            if( is_archive() && $query->is_main_query() ){
                // Replace "100" with the ID for the Service category.
                $query->set( 'cat', '-100' );
            }
        }
    ?>
    

    【讨论】:

    • 很高兴,我很高兴能帮上忙!
    • xhynk先生,其实那个sn-p有缺陷,它也删除了那个类别的子类别的帖子。
    • 它将删除该类别中的任何帖子,从而也删除子类别 - 这是有意的 WordPress 功能(和标准层次结构)。您不应该先排除 Category A,然后再包括 Cat A 的子类别。如果您需要更复杂的查询,请查看 pre_get_posts 的文档 - 您可以添加更多参数,例如 $query-&gt;set( 'category__and', array( 1, 101 ); 其中“1”是您的主要类别,“101”是“服务”的子类别
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 2013-10-29
    • 2016-06-05
    相关资源
    最近更新 更多