Php Wordpress在_类别中,并且有_标记条件不';不能在WP_查询中工作

Php Wordpress在_类别中,并且有_标记条件不';不能在WP_查询中工作,php,wordpress,validation,woocommerce,conditional,Php,Wordpress,Validation,Woocommerce,Conditional,我想阻止Wordpress文章(这是一本在线杂志),这些文章是在会员订阅之前创建的(使用Woocommerce会员资格) 我需要检查一篇文章是否属于某个特定类别,然后执行“if”。类别中的或有标签不起作用,到目前为止我一直在使用是类别,但它只在类别存档页面上阻止文章。问题是,文章需要被阻止到根目录,因为它们可以出现在网站上的其他地方,用于ex“相关文章”。 即使是is_标签也可以工作,但只能在标签存档页面上工作 下面是我的代码: add_action( 'pre_get_posts', 'dat

我想阻止Wordpress文章(这是一本在线杂志),这些文章是在会员订阅之前创建的(使用Woocommerce会员资格)

我需要检查一篇文章是否属于某个特定类别,然后执行“if”。类别中的
有标签
不起作用,到目前为止我一直在使用
是类别
,但它只在类别存档页面上阻止文章。问题是,文章需要被阻止到根目录,因为它们可以出现在网站上的其他地方,用于ex“相关文章”。 即使是
is_标签
也可以工作,但只能在标签存档页面上工作

下面是我的代码:

add_action( 'pre_get_posts', 'date_search_filter' );

function date_search_filter($query) {
$user_id = get_current_user_id();
global $wpdb;
$startdate=$wpdb->get_col("select tmpm.meta_value from tmwp_posts as tmpp inner join tmwp_postmeta as tmpm on tmpp.ID = tmpm.post_id where tmpm.meta_key = '_start_date' and tmpp.post_author = ". $user_id . " order by tmpm.meta_id desc limit 1",0);



if ( !is_admin() && !current_user_can('administrator') && $query->is_main_query() ) {
    if ($query->is_category('387')){

$query->set( 'date_query', 
    [    [
    'after'     => $startdate[0],
    'inclusive' => true,
    ]    ] 
    );
    }
  }
}
如果($query->is_category('387'){


我不想使用
is\u single()
,因为它会阻止每一篇文章,甚至是我拥有的产品。

Woocommerce产品类别和产品标签是Woocommerce自定义分类法,不能与
中的
具有\u标签()
Wordpress函数…同样,那些条件函数不能与
WP\u查询一起使用,就像在你的代码中一样。实际上,我试图限制文章,所以这是Wordpress分类法。