使某些类别的CPT不可公开查询

时间:2013-10-09 作者:Ronnieinspain

我正在为一个客户和一个Custom Post Types 是“联系人”,这些联系人由custom taxonomy; 我的问题是是否有办法set only certain categories to be publicly queryable. 我似乎只能找到解决方案,要么让某个帖子类型的所有帖子都非公开,不可公开查询,要么反过来,而不仅仅是某个类别的帖子。

@kaiser建议的一些附加信息:自定义分类法的设置方式与为帖子和页面设置普通类别的方式相同。它只是处理这方面的一种自定义分类法。我只想为此使用一种自定义帖子类型,否则我将被迫复制许多自定义字段,例如:所有“联系人”都有许多共同点(联系人详细信息等)但在这些“联系人”中,我只希望某些“类别”在管理外部可见和可访问;例如,与类别“艺术家”的联系人应公开显示,并显示在类别和网站地图页面中,但不应显示在“提供者”下。

如果可以避免的话,我不希望使用多个CPT或多个分类法。

感谢大家的投入。

1 个回复
SO网友:s_ha_dum

听起来你真的需要一个过滤器pre_get_posts 删除不需要的条款。类似这样的,但我不确定我是否理解您需要的所有条件,所以仅将其视为概念证明。

function exclude_terms_wpse_117242($qry) {
  if (is_user_logged_in()) {
    $tq = array(
        array(
            \'taxonomy\' => \'your_tax\',
            \'field\' => \'id\',
            \'terms\' => array(1,2,3),
            \'operator\' => \'NOT IN\',
        )
    );
    $qry->set(\'tax_query\',$tq);
  }
}
add_action(\'pre_get_posts\',\'exclude_terms_wpse_117242\');

结束

相关推荐

将wp_Query数据放入html表

我需要在一个简单的html表格中显示一些数据,所以我从表格的基础知识开始。如代码所示,所需的数据是一个meta\\u键submitdate的自定义字段值列表,来自所有帖子,位于特定标记下\"female\". 我编写了以下代码,直到第一次WP_Query.更新:当前代码由@islam建议。<table border=\"1\"> <thead> <tr> <th>NO.</th> <th>FEMALE