当前位置: 首页 > 知识库问答 >
问题:

WordPress:使用post__not_in排除自定义分类类别

佟颖逸
2023-03-14

我试图从循环中排除自定义分类法类别中的项目(slg: Private-Case-research,ID: 5)。我正在使用以下代码,有人有建议或想法为什么它不起作用吗?提前感谢!


    // Get the current page ID
        $this_post = $post->ID;
        $private_case_study = get_term_by('slug', 'private-case-study', 'mgt_portfolio_filter');


        // Show items from specific category
        if($category_name == '') {
            $wp_query = new WP_Query(array(
                'post_type' => 'mgt_portfolio',
                'posts_per_page' => $posts_per_page,
                'orderby'    => $orderby,
                'order' => $order,
                'post__not_in' => array($this_post, $private_case_study)
            ));
        } else {
            $wp_query = new WP_Query(array(
                'post_type' => 'mgt_portfolio',
                'tax_query' => array(
                    array(
                        'taxonomy' => 'mgt_portfolio_filter',
                        'field'    => 'slug',
                        'terms'    => $category_name,
                    ),
                ),
                'posts_per_page' => $posts_per_page,
                'orderby'    => $orderby,
                'post__not_in' => array($this_post, $private_case_study),
                'order' => $order
            ));
        }

共有2个答案

公西繁
2023-03-14

post__not_in接受一个ID数组并排除它们。您希望使用category__not_in,它接受一个类别ID数组并排除它们。

请看一下文档。

楚浩然
2023-03-14

//获取当前页面ID$this_post=$post-

    // Show items from specific category
    if($category_name == '') {
        $wp_query = new WP_Query(array(
            'post_type' => 'mgt_portfolio',
            'posts_per_page' => $posts_per_page,
            'orderby'    => $orderby,
            'order' => $order,
            'post__not_in' => array($this_post)
        ));
    } else {
        $wp_query = new WP_Query(array(
            'post_type' => 'mgt_portfolio',
            'tax_query' => array(
                array(
                    'taxonomy' => 'mgt_portfolio_filter',
                    'field'    => 'slug',
                    'terms'    => $category_name,
                ),
            ),
            'posts_per_page' => $posts_per_page,
            'orderby'    => $orderby,
            'post__not_in' => array($this_post),
            'order' => $order
        ));
    }
 类似资料:
  • 我有一个自定义的文章类型(媒体文章),它使用一些自定义字段,有一个自定义分类法(媒体文章类别)和该分类法中的14个术语。我可以使用CPT归档模板输出所有自定义帖子。 我在侧边栏中还有一个菜单,它列出了用于过滤自定义帖子的术语(我使用了一个自定义WP菜单小部件来创建列表)。 我用一个查询设置了一个自定义分类模板。根据args中放置的分类术语,我能够成功地组合或单独显示帖子。因此,如果我不需要使用过滤

  • 我正在尝试创建一个查询,其中我在自定义帖子类型中创建了多个类别(分类法),然后在主页上根据具体的内容进行查询,这样做很好。目前我有3种分类法: 当前特价 meineke-差异 特色 我已经编写了拉动这些的代码。我遇到的问题是,在主页上,当这些帖子也附加到“特色”分类法时,它只需要拉这些帖子。因此,这方面的标准逻辑示例如下: 如果分类法=当前特价商品和特色商品,则成功或失败 但是它所做的是把它们都拉

  • 我有一个自定义的帖子类型设置,有许多类别和子类别。 我试图做的是创建一个页面,显示特定类别中的所有帖子,并使用一个菜单列出所有类别子类别,以便可以过滤帖子。 我已尝试复制存档模板并将其重命名为分类法-(我的自定义分类法)。php,如果我转到slug,它会显示某些帖子,并使用

  • 我的股票与分页我尝试了很多解决方案,但没有工作!我使用WordPress5.4。我的网站是一个单页网站,当然我想在索引中使用它。php 这是我的密码: 很抱歉,如果这是一个高度重复的问题——我发现的其他修复方法都不适用于我。请有人告诉我问题在哪里? 谢谢! 编辑1我尝试了这个,它也不工作!

  • 我有一个与自定义分类法(支持)相关的自定义帖子类型(问题) 在我的主题/分类中。php我有以下代码: 这意味着我针对“支持”分类法的特定模板文件。 在分类法模板文件中,我进行了自定义查询: 我有大约11篇文章,第1页显示了前5篇文章,但问题是没有显示分页。 有什么想法吗?非常感谢。

  • 我已经搜索了又搜索,除了我称之为“hack方法”的方法之外,找不到其他方法将自定义分类添加到自定义管理菜单中。 然后我注册我的帖子类型并确保它们使用 这可以工作,自定义帖子类型显示在我的自定义菜单中。 但是自定义分类法不接受同一属性的字符串,只接受true或false。 因此,要添加它,您必须创建一个子菜单页 这是一种“黑客”方式。 还有别的办法吗?如果不修改WordPress核心,我可以覆盖re