7

Woocommerce の「ショップ」ページを無効にしようとしています。基本的には、フォトグラファー向けのプリントや画像のダウンロードを販売するショップのテーマを作成しています。

プライベート ギャラリーを作成する必要があるため、woocommerce カテゴリのショートコードを使用して製品を表示し、投稿タイプをパスワードで保護するカスタム投稿タイプを作成しました。

これは woocommerce カテゴリをパスワードで保護するための回避策です (誰かがより良い方法を知っている場合は説明してください)。

問題は、誰かが /shop に行き、「保護されたもの」を含むすべての製品を購入することです。したがって、ショップページを無効にする必要があり、テーマ関数でプログラムで行う必要があります。何かご意見は?

4

9 に答える 9

26

ショップページを無効にするには、archive-product.phpからファイルをコピーして/wp-content/plugins/woocommerce/templates/archive-product.php入れます/wp-content/themes/{Your Theme}/woocommerce/archive-product.php

ファイルを開き、以下のコードでファイル内のすべてを上書きします。

<?php
global $wp_query;

$wp_query->set_404();
status_header(404);

get_template_part('404');

ファイルを保存すると、ショップ ページがなくなり、404 ページに置き換わります。

于 2016-03-16T01:01:54.027 に答える
22

これを関数に追加します。

function woocommerce_disable_shop_page() {
    global $post;
    if (is_shop()):
    global $wp_query;
    $wp_query->set_404();
    status_header(404);
    endif;
}
add_action( 'wp', 'woocommerce_disable_shop_page' );

ドキュメント: WooCommerce 条件付き関数のドキュメント

于 2016-12-13T22:50:54.373 に答える
4

*編集 - 以下で提案したページ設定が機能しなくなったようです。WooCommerce にそれを変更するためのプラグイン設定がない場合、個人的にはRedirectionのような wordpress リダイレクト プラグインを使用します。このようにして、望ましくないショップページから製品を表示するページに自動的にリダイレクトできます. 404 問題を回避し、すべてを無傷に保ちます。また、非開発者に複雑さを加えるテンプレート ファイルの編集を回避します。


古い答え:

Woo設定は試しましたか?

管理エリア、メイン メニューの左側、Woocommerce > 設定 ページ タブをクリックします。

ページ設定の下に「ショップベースページ」があり、ドロップダウンの右に小さな「x」があります。それをクリックしてページを削除します。

修正が必要なリンクが他の場所にある場合はお知らせください。それを修正するためのフック/フィルターを見つけます。

于 2012-12-08T05:44:55.537 に答える
1

最後の提案は、WP 4.6.1 と WooCommerce 2.6.4 ではうまくいきませんでした。[公開] タブで製品を非表示にするとうまくいきます。

http://paperhedge.com/hide-products-from-displaying-in-shop-page-woocommerce/

于 2016-09-17T20:49:19.577 に答える
-1

これを試して

  1. 「ショップ」という名前の新しいページを作成します
  2. 「woocommerce」 > 「設定」 > 「製品」 > 「表示タブ」に移動します
  3. 「Shop」という名前のショップページを選択し、[変更を保存] をクリックします
  4. 「ページ」に戻り、「ショップ」ページを削除します (ページはゴミ箱に保管し、完全に削除しないでください)。

この方法は私にとってはうまくいきます

于 2016-07-29T16:30:09.593 に答える