1

特定のカテゴリの「製品」(コース) をページに表示する WooCommerce 要素を挿入しようとしています。

また、この特定のカテゴリのこれらの製品を非表示にする必要があり、期待どおりに機能しました. functions.php 内に aa フィルターを追加したところ、次のようになりました。

/*
 * Exclude "packages" category from "Archive Products" on page 811
 * Ref. URL: https://docs.woocommerce.com/document/exclude-a-category-from-the-shop-page/
 */
function exclude_category_archive_products( $q ) {
   $tax_query = (array) $q->get( 'tax_query' );

    $tax_query[] = array(
           'taxonomy' => 'product_cat',
           'field' => 'slug',
           'terms' => array( 'packages' ),
           'operator' => 'NOT IN'
    );


    $q->set( 'tax_query', $tax_query );

}
if( $current_post_id != "811" ) {
    add_filter( 'woocommerce_product_query', 'exclude_category_archive_products' );
}
/* END Exclude "packages" category from "Archive Products" on page 811 */

私は反対のことを達成する方法を探しましたが、「今年以降」は何も見つかりませんでした。「IN」または「=」演算子を使用しようとしましたが、機能しませんでした (すべてが表示されます)。

/*
 * Display "packages" category only
 */
function show_only_category_in_page( $q ) {
    var_dump("It reaches the function");
    $tax_query = (array) $q->get( 'tax_query' );

    $tax_query[] = array(
           'taxonomy' => 'product_cat',
           'field' => 'slug',
           'terms' => array( 'packages' ),
           'operator' => '='
    );

    $q->set( 'tax_query', $tax_query );
}
if( $current_post_id == "811" ) {
    var_dump("It reaches the page");
    add_filter( 'woocommerce_product_query', 'show_only_category_in_page' );
}
/*  END Display "packages" category only */

前のコードは のみを書き込みますstring(23) "It gets reachs the page"。私は何を間違っていますか?

4

1 に答える 1