基本的に私が取り組んでいるストアでは、デフォルトの「カートに追加」フォームまたは「売り切れ」メッセージを表示する代わりに、「Call to Order」メッセージを表示するオプションが必要です。
商品編集のバックエンドにカスタム メタボックス チェックボックスを追加し、単一の商品をカートに追加テンプレートに if ステートメントを追加することで、これを実現しました。唯一の問題は、カートに追加フォームと商品を非表示にすることだけです。 「http://localhost/wordpress/woocommerce/shop/?add-to-cart=14」のように追加できるので、完全な証明ではありません。
私が探しているのは、カスタム チェックボックスがオンになっているときに何らかの方法で製品を在庫切れにすることです。WooCommerce プラグイン管理者のバックエンド ファイルを探していましたが、これはよく使用されます。
update_post_meta( $post_id, '_stock_status', 'outofstock' );
だから私はそれが functons.php でこれと同じくらい簡単だと思った:
global $post;
if ($meta_box = get_post_meta($post->ID, "_cmb_test_checkbox", true) ) :
update_post_meta( $post_id, '_stock_status', 'outofstock' );
endif;
そうではないことが判明しました。これは私を夢中にさせているので、どんな助けも大歓迎です。
乾杯!