Woocommerce - скрыть столбец в таблице корзины

Я хочу скрыть или удалить столбец из корзины woocommerce, я создаю плагин для woocommerce, поэтому было бы нецелесообразно вносить изменения непосредственно в корзину. php или functions.php (что может быть решением), но когда плагин woocommerce выпустит обновление, код исчезнет, ​​сейчас я могу просто скрыть элемент по цене, но не весь столбец.

add_filter( 'woocommerce_cart_item_price', '__return_empty_string' ); 

Кроме того, я мог бы сделать это с помощью CSS display: none , но люди будут смотреть элементы, если будут проверять код, в настоящее время корзина выглядит следующим образом

введите описание изображения здесь

.

Вы знаете, как скрыть весь ценовой столбец из корзины, используя крючки, спасибо.

МОЙ ОТВЕТ

С помощью Ben HartLenn я добавляю в свой плагин этот код, чтобы заменить cart.php для моего плагина cart.php и какой-то другой файл, который мне нужно заменить

define( 'PLUGIN_DIR', plugin_dir_path( __FILE__ ) );add_filter( 'woocommerce_locate_template', 'plugin_locate_template', 10, 3 );function plugin_locate_template( $template, $template_name, $template_path ) {  global $woocommerce;  $_template = $template;  if ( ! $template_path ) $template_path = $woocommerce->template_url;  $plugin_path  = PLUGIN_DIR . '/woocommerce/';  $template = locate_template(    array(      $template_path . $template_name,      $template_name    )  );  //Get the template from this plugin, if it exists  if ( ! $template && file_exists( $plugin_path . $template_name ) )    $template = $plugin_path . $template_name;  //Use default template  if ( ! $template )    $template = $_template;  //Return what we found  return $template;}

Теперь я создаю папку cart и внутри нее файл cart.php, измененный мной, удалив столбцы Price и Total, он работает с любым файлом, который вам нужно заменить.

Вы создаете этот файл в

/plugins/yourplugin/woocommerce/cart/cart.php

, и код автоматически заменит woocommerce по умолчанию cart.php для вашего файла, работает с любым файлом, находящимся внутри woocommerce /templates /, таким образом, у вас будут свои собственные файлы шаблонов woocommerce для настройки.

Если это решение не работает, а этот код - нет загрузка ваших собственных настроенных файлов может быть вызвана тем, что шаблон (например, avada) уже заменяет файл cart.php или другой файл, проверьте путь

/themes /your_theme /woocommerce

Чтобы убедиться, что шаблон не заменяет тот же файл, который вы пытаетесь заменить своим плагином.

Спасибо Бен за помощь: D

Ответы и комментарии:

Более простое решение может состоять в том, чтобы объединить два исходных решения, удалив содержимое корзины с помощью упомянутой вами зацепки, а затем с помощью CSS скрыть пустой столбец.
Создан 22-11-2017 01:38 shea

Посмотрев в cart.php, не похоже, что вы можете сделать это с помощью хуков, так как есть статический html, который оборачивается вокруг цены продукта. Это ценовое содержание продукта зависит от того, что вы попробовали ловушку woocommerce_cart_item_price, но не содержит статическую html-разметку для самой структуры столбца.
Хорошей новостью является то, что вы можете переопределить файл шаблона cart.php, поместив его в свою тему, а затем удалив статический вывод html для столбца Price в вашей версии файла шаблона. Вам не придется беспокоиться о потере ваших изменений таким образом, но вам придется следить за всеми изменениями, которые Automattic вносит в файл шаблона cart.php для плагинов Woocommerce, в будущем.
Чтобы переопределить шаблон, просто скопируйте файл плагина Woocommerce из /wp-content/plugins/woocommerce/templates/cart/cart.php и переместите его в свою тему, чтобы Woocommerce распознала вашу версию как переопределенную. В этом случае вы должны поместить файл cart.php в /wp-content/themes/your-theme/woocommerce/cart/cart.php после создания каталогов woocommerce / cart / внутри вашей темы. После этого Woocommerce должен загрузить вашу версию файла из вашей темы, а не версию плагина cart.php.
Наконец, вы можете просто удалить или закомментировать строку 96 в строку 100 (в последней версии cart.php), и это должно удалить весь столбец Price из вашего вывода. Я не могу сказать, но вам может понадобиться подправить другие визуальные вещи после этого.
Вот немного больше информации о переопределении файлов шаблонов Woocommerce на всякий случай:
https://docs.woocommerce.com/document/template-structure/
Создан 17-11-2017 04:40 Ben HartLenn1,6441015