Сховати ціни та функціональні можливості оформлення замовлень у вуокомерції


17

Я знаю, що це питання може бути занадто широким, але я шукаю трохи напряму. Мій клієнт має магазин вуокомерції з 30-40 продуктами. З будь-якої причини вони більше не хочуть продавати в Інтернеті, але хочуть зберегти сторінки продукту, інформацію тощо на своєму веб-сайті.

Чи є спосіб за допомогою гачків чи іншим способом приховати такі речі, як ціни, додати кнопку до кошика тощо у вуокомерції? Або мені просто редагувати файли шаблонів php?

Відповіді:


23

на щастя, у комерції є багато гачків, це знімає ціни та кнопки:

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якщо вам потрібно видалити більше матеріалів.

Я можу уявити, що є більше, ніж просто ціни / кнопки, які ви хочете приховати / видалити, хоча (як сторінки / функції), цей підручник дає вам деякі вказівки


Я маю рацію, думаючи, що ці гачки повинні бути вставлені у function.php? Якщо так, чи є певний розділ, до якого мені потрібно вкласти їх? Якщо вони працюють, імовірно, функціональність візка більше не буде видно, окрім деяких стилів, чи правильно?
Джеймс

1
так, ви можете помістити їх у function.php, і не має значення, де ви їх помістите в інші функції. Зазвичай весь шлях у кінці файлу є найбезпечнішим, якщо ви не ставите їх після останнього ?>. Це не видалить сторінку кошика, але фактично видалить можливість додати що-небудь до кошика. Якщо вам не подобається сторінка кошика де завгодно, ви повинні бути відносно безпечними.
Ewout

Це працює. Але це дивно. Після цього застосунок зображення виробу не припиняються. Він показує порожнє місце для їх розташування, і коли я проходжу курсор миші на них і натискаю на них, вони показують мені належне зображення. Чи маєте ви уявлення про те, чому це відбувається?
Brethlosze

13

Розширюючи вищевказаний код (спасибі Ewout), наступний код позбудеться від усіх цін і кнопки "додати в кошик" на всі товари з питань комерційної торгівлі, а також надасть пояснення чому. Мені потрібен код для веб-сайту, який пропонує продукти прямого продажу, і щоб дотримуватися їх правил, я не можу показувати ціни широкій публіці.

Додайте фільтр у файл function.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.';
      }

}

Це дивно. Після цього застосунок зображення виробу не припиняються. Він показує порожнє місце для їх розташування, і коли я проходжу курсор миші на них і натискаю на них, вони показують мені належне зображення. Чи маєте ви уявлення про те, чому це відбувається?
Brethlosze

Цей код не працює в WooCommerce v 3.2.1:-)
Стів

1
add_filter( 'woocommerce_is_purchasable', '__return_false' );
add_filter( 'woocommerce_get_price_html', '__return_empty_string' );

Це повністю запобіжить оформленню замовлення та сховає всі ціни за:

  • Зробити весь товар непридбаним (рядок 1)
  • Очищення HTML ціни (рядок 2)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.