カテゴリWooCommerceストアフロントテーマを非表示にする方法

公開: 2020-10-05

WooCommerceストアフロント非表示カテゴリ どのeコマースWebサイトでも、ショップページは最も重要なページの1つです。 あなたの顧客はあなたが販売しているすべての製品を物理的に見ることはできません。 したがって、ショップページを提示して、ウェブサイトにとどまり、購入を決定しやすくすることが非常に重要です。

WooCommerceストアフロント非表示カテゴリ

この簡単なチュートリアルは、WooCommerceプラグインを使用してストアを構築した人を対象としています。 WooCommerceカスタマイザーを使用してショップページにすべての商品カテゴリを表示する方法と、WooCommerceカテゴリがショップページに表示されないようにする方法を説明します。

StorefrontテーマはWooCommerceとシームレスに統合されます。 WooCommerceを使用すると、ストアフロントテーマのホームページに商品をどのように表示するかを決定できます。

ストアフロントテーマでカテゴリを表示する方法

WordPressサイトにログインし、管理者ユーザーとしてダッシュボードにアクセスする場合、 [外観]> [カスタマイズ]> [WooCommerce]で製品カタログを使用すると、WooCommerceショップページを一意に表示できます。 カテゴリのみ、製品を含むカテゴリ、または製品のみを表示するように選択できます。

要約すれば:

  • 商品の表示:すべての商品が一覧表示されます。
  • カテゴリを表示:すべてのカテゴリが一覧表示されます
  • カテゴリと製品を表示する:製品とカテゴリの両方が一覧表示されます。

[ショップページの表示]で[カテゴリの表示]オプションを選択すると、以下に示すように、すべての製品カテゴリがショップページに表示されます。 カテゴリを表示

ストアフロントテーマのホームページからWooCommerceカテゴリを非表示にする方法

さまざまな理由により、ホームページに一部のカテゴリを表示したくない場合があります。 この例では、 「アクセサリ」カテゴリを削除します。 これを行うには、このカテゴリに正しい名前を付けるか、ホームページに表示されないようにします。

従う必要のある簡単な手順は次のとおりです。

  1. WordPressサイトにログインし、管理者ユーザーとしてダッシュボードにアクセスします。
  2. [ダッシュボード]メニューから、[外観メニュー]> [テーマエディターメニュー]をクリックします。 テーマエディタページが開いたら、 「アクセサリ」カテゴリを削除する関数を追加するテーマ関数ファイルを探します。
  3. 次のコードをfunctions.phpファイルに追加します。
 / **

 *選択したカテゴリの商品のみを表示します。

 * /

function get_subcategory_terms($ terms、$ taxonomies、$ args){

            $ new_terms = array();

            $ hidden_​​category = array(19); //ショップページに表示したくないカテゴリのID

                         //商品カテゴリとショップページの場合

            if(in_array( 'product_cat'、$ taxonomies)&&!is_admin()&& is_shop()){


                foreach($ terms as $ key => $ term){


                        if(!in_array($ term-> term_id、$ hidden_​​category)){

                                    $ new_terms [] = $ term;

                        }

                }

                $ terms = $ new_terms;

            }

  $ termsを返します。

}

add_filter( 'get_terms'、 'get_subcategory_terms'、10、3);
  1. 結果を確認するには、ホームページを更新してください。 以下のスクリーンショットから、コードが「アクセサリ」カテゴリID = 19を削除したことがわかります。 カテゴリを削除

コードのしくみ

コードスニペットでは、共有し、コールバック関数get_subcategory_terms()を使用し、変数$ new_termsを空の配列で初期化しました。この配列は、後でショップページに表示されるWooCommerceカテゴリの配列を作成するために使用されます。

その後、ショップページに表示したくないカテゴリIDの配列を使用して$ hide_category変数を初期化しました。 ショップページに非表示にするカテゴリのIDを追加する必要があります。

次に、「product_cat」が$ taxonomiesに存在するかどうかを確認し、フロントエンドページとショップページであるかどうかを確認してから、実際の変更部分のみを実行します。 さらに、フロントエンドか管理者エンドかを確認できるis_admin()関数を使用しました。 is_shop()関数を使用して、それがWooCommerceShopページであるかどうかを確認しました。

すべての条件が真の場合、foreachループを使用して、$ new_terms変数の新しい用語データを準備するために$ termsデータをループしました。 この変数には、ホームページに非表示にするWooCommerceカテゴリの用語データは含まれません。 これは、用語データごとに、用語IDが$ hidden_​​category配列に存在しないかどうかを確認してから$ new_terms配列にのみ用語を追加することを意味します。

結論

この投稿では、ショップページの表示を変更して商品カテゴリを一覧表示する方法を紹介しました。 さらに、小さなコードを使用して、特定のWooCommerceカテゴリがホームページに表示されないようにする方法を示しました。

さらに、製品とカテゴリがホームページに表示されないようにする他のシナリオがあるかもしれません。 これは、要件を達成できる精巧なコードスニペットにコードを追加することで実行できます。

同様の記事