Ich weiß, dass diese Frage zu weit gefasst ist, aber ich suche nach einer Richtung. Mein Kunde hat einen Woocommerce-Shop mit 30-40 Produkten. Aus irgendeinem Grund möchten sie nicht mehr online verkaufen, sondern die Produktseiten, Informationen usw. auf ihrer Website behalten.
Gibt es eine Möglichkeit, mithilfe von Hooks oder auf andere Weise Dinge wie Preise zu verbergen, Warenkorbknöpfe hinzuzufügen usw. im Woocommerce? Oder sollte ich einfach die PHP-Vorlagendateien bearbeiten?
zum glück hat woocommerce viele haken, dies entfernt preise und knöpfe:
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 );
sie können sich in content-product.php
und content-single-product.php
einarbeiten, wenn Sie mehr entfernen möchten.
Ich kann mir vorstellen, dass es mehr als nur die Preise/Schaltflächen gibt, die Sie ausblenden/entfernen möchten (wie Seiten/Funktionen), dieses Tutorial gibt Ihnen einige Hinweise
Wenn Sie den obigen Code erweitern (danke an Ewout), werden mit dem folgenden Code alle Preise und "In den Warenkorb" -Knöpfe für alle Woocommerce-Produkte entfernt und es wird erklärt, warum. Ich brauchte den Code für eine Website, die Direktverkaufsprodukte anbietet, und um deren Regeln einzuhalten, kann ich der Öffentlichkeit keine Preise anzeigen.
Fügen Sie den Filter zur Datei functions.php Ihres Themas hinzu.
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.';
}
}
add_filter( 'woocommerce_is_purchasable', '__return_false' );
add_filter( 'woocommerce_get_price_html', '__return_empty_string' );
Dadurch wird das Auschecken vollständig verhindert und alle Preise werden ausgeblendet, indem: