ホームページ >バックエンド開発 >PHPチュートリアル >WordPress ウェブサイトで在庫切れの商品を非表示にする方法

WordPress ウェブサイトで在庫切れの商品を非表示にする方法

PHPz
PHPzオリジナル
2024-08-06 04:13:321215ブラウズ

How to Hide Out-of-Stock Products on Your WordPress Website

WordPress でオンライン ストアを運営する場合は、商品ページを整理整頓しておく必要があります。効果的な戦略の 1 つは、在庫切れの商品を非表示にすることです。これにより、一般的なショッピング エクスペリエンスが向上し、顧客間の混乱を避けることができます。この記事では、functions.php ファイルに追加されたカスタム コード スニペットを使用して、在庫切れの商品を非表示にする簡単な方法を説明します。

コード

まず、商品ページに利用可能な商品のみを表示するコードを見てみましょう。

/**
 * Visit AliKarbasi.dev for more codes.
**/
function custom_pre_get_posts_query( $q ) {
    if ( ! is_admin() && $q->is_main_query() ) {
        if ( is_home() || is_front_page() ) {
            $meta_query = $q->get( 'meta_query' );
            $meta_query[] = array(
                'key'     => '_stock_status',
                'value'   => 'outofstock',
                'compare' => 'NOT IN',
            );
            $q->set( 'meta_query', $meta_query );
        }
    }
}
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

仕組み

このコード スニペットは、pre_get_posts アクション フックを利用して、WordPress がデータベースから投稿を取得する前にメイン クエリを変更します。仕組みの詳細は次のとおりです:

  1. 関数宣言: 関数 custom_pre_get_posts_query は、クエリ パラメーターを変更するために宣言されています。
  2. 条件チェック: この関数は、現在のリクエストが WordPress 管理領域 (! is_admin()) からのものでないかどうか、またメインクエリ ($q->) であるかどうかをチェックします。 ;is_main_query()).
  3. ホームとフロント ページのチェック: 現在のページがホーム ページであるかフロント ページ (is_home() または is_front_page()) であるかをさらにチェックします。
  4. メタ クエリの変更: すべての条件が満たされる場合、クエリ オブジェクトから既存の meta_query を取得し、メタ キー _stock_status を持つ投稿を除外する新しい条件を追加します。 在庫切れに設定されます。
  5. 変更されたメタ クエリの設定: 変更された meta_query はクエリ オブジェクトに戻され、結果から在庫切れの製品が効果的に除外されます。

コードの使用方法

このコードを WordPress サイトに適用するには、次の手順を実行します:

テーマのfunctions.php ファイルにアクセスします:

  • WordPress 管理ダッシュボードにログインします。
  • 「外観」に移動 >テーマエディター
  • テーマ ファイル リストで、functions.php を見つけてクリックします。

コードを追加します:

  • 提供されたコード スニペットをコピーします。
  • functions.php ファイルの最後、終了 ?> タグが存在する場合はその直前に貼り付けます。

変更を保存:

  • ファイルの更新 ボタンをクリックして変更を保存します。

結論

この簡単なコード スニペットを functions.php ファイルに追加すると、在庫切れの商品を商品ページやメイン ページから簡単に非表示にすることができます。これにより、ウェブサイトをクリーンに維持し、顧客が入手可能な商品のみを表示できるようになります。
コーディングを楽しんでください:D

以上がWordPress ウェブサイトで在庫切れの商品を非表示にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。