回答:
幸い、woocommerceには多くのフックがあり、これにより価格とボタンが削除されます。
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
あなたがに掘ることができるcontent-product.php
とcontent-single-product.php
、あなたはより多くのものを削除する必要がある場合。
非表示/削除したい価格/ボタン(ページ/機能など)だけではないことを想像できます。このチュートリアルでは、いくつかの指針を示します。
?>
。これはカートページを削除しませんが、実際にはカートに何かを追加する可能性を削除します。どこでもカートページが気に入らない場合は、比較的安全です。
上記のコードを拡張し(Ewoutに感謝)、次のコードはすべてのwoocommerce製品のすべての価格と「カートに追加」ボタンを取り除き、理由を説明します。直接販売の製品を提供するWebサイトのコードが必要であり、そのルールを遵守するために、価格を一般に公開することはできません。
テーマのfunctions.phpファイルにフィルターを追加します。
add_filter('woocommerce_get_price_html','members_only_price');
function members_only_price($price){
if(is_user_logged_in() ){
return $price;
}
else {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
return 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.';
}
}
3.2.1
:-)