私のウェブサイトの周りに特定の商品カテゴリを隠す方法について誰かが手掛かりを持っているかどうかを知りたいと思います。私のWordpressのWooCommerceウェブサイトの "ショップ"、 "関連商品"、 "検索"の意味。 「ショップ」ページは私がを行っている(そしてそれが働いている)のためにWooCommerce 3.x - 製品カテゴリを非表示
以下:検索については
function custom_pre_get_posts_q($q) {
$tax_query = (array) $q->get('tax_query');
$tax_query[] = array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array('carton'), // Don't display products in the composite category on the shop page.
'operator' => 'NOT IN'
);
$q->set('tax_query', $tax_query);
}
add_action('woocommerce_product_query', 'custom_pre_get_posts_q');
私は次のことを試してみましたが、それは動作しません。
function exclude_category_from_search($query) {
if ($query->is_search) {
$cat_id = get_cat_ID('carton');
$query->set('cat', '-'.$cat_id);
}
return $query;
}
add_filter( 'pre_get_posts'、 'exclude_category_from_search');私も私の子テーマに次のように持って
function wc_remove_related_products($args)
{
if (is_product() && has_term('carton', 'product_cat'))
{
return array();
}
return $args;
}
add_filter('woocommerce_related_products_args','wc_remove_related_products', 10);
:
は最後に、関連製品のために私はWC 3.xのため、非推奨と思われる以下のことを試してみました
` <?php foreach ($related_products as $related_product) : ?>
<?php
$post_object = get_post($related_product->get_id());
setup_postdata($GLOBALS['post'] =& $post_object);
wc_get_template_part('content', 'product'); ?>
<?php endforeach; ?>`
私は、他のクラスで使ったコードのこの部分で商品カテゴリを隠すことができることを知っています:
global $post;
$terms = wp_get_post_terms($post->ID, 'product_cat');
foreach ($terms as $term) $categories[] = $term->slug;
if (in_array('children', $categories)) {
誰でも、新しいバージョンのWoomCommerceでそれを行う方法を知っていますか? 私は多くの研究をしましたが、この新しいバージョン以降、廃止された回答のように見えます。
PS:私はこのカテゴリを使用して複合商品を作成しているので、これらの商品を非表示にしても削除することはできません。
乾杯
こんにちは、回答はありますか?私は同じように見ています。 – mikesneider
ちょっと@mikesneider私は答えを掲載しました。はい、私は最後にそれを理解しました;) 質問があれば、お気軽にお問い合わせください。 – bkseen