私はこのコードを使用していたが、それは私のサイトの属性フィルタのリンクを破る:Woocommerce
あなたが使用することができadd_action('pre_get_posts', 'custom_pre_get_posts_query');
function custom_pre_get_posts_query($q) {
if (! $q->is_main_query()) return;
if (! $q->is_post_type_archive()) return;
if (! is_admin() && is_shop()) {
$q->set('tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array('samples'),
'operator' => 'NOT IN'
)));
}
remove_action('pre_get_posts', 'custom_pre_get_posts_query');
}
私はショップのページ*がメインのクエリであり、間違いなくポストタイプのアーカイブだと思うので、ショップのアーカイブでの作業を妨げます。 – helgatheviking
@CarlosDaniel ... 'if(!$ q-> is_main_query())return;'と 'if(!$ q-> is_post_type_archive())を取り除く必要があることを意味します; – LoicTheAztec