@Ciscoridze

Wordpress. Как удалить контент со страницы товара?

Добрый день.
Мне нужно удалить со страницы товара весь контент, кроме этого самого товара.
Правильно ли я делаю, что редактирую файл single-product.php или нужно делать это как-то по-другому?

Из signle-product.php я убираю вот этот код и в общем-то получаю то, что хочу, но не знаю правильно ли я делаю, что редактирую файлы woocommerce, может это надо как-то иначе с помощью хуков, правда я не знаю как это сделать.

<?php
		/**
		* woocommerce_before_main_content hook
		*
		* @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
		* @hooked woocommerce_breadcrumb - 20
		*/
		do_action( 'woocommerce_before_main_content' );
	?>


Вот полный код моего файла single-product.php
*
 * Override this template by copying it to yourtheme/woocommerce/single-product.php
 *
 * @author 		WooThemes
 * @package 	WooCommerce/Templates
 * @version     1.6.4
 */

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
?>


	<?php
		/**
		* woocommerce_before_main_content hook
		*
		* @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
		* @hooked woocommerce_breadcrumb - 20
		*/
		do_action( 'woocommerce_before_main_content' );
	?>


	<section class="wpo-single-product content-product">
		<section class="container">
			<section class="row">
			<?php get_sidebar( 'shop-left' );  ?>
				<section class="<?php echo esc_attr($config['main']['class']); ?>">
					<div class="wpo-content">
						<?php while ( have_posts() ) : the_post(); ?>
							<?php wc_get_template_part( 'content', 'single-product' ); ?>
						<?php endwhile; // end of the loop. ?>
					</div>
				</section>
            <?php get_sidebar( 'shop-right' ); ?>
			</section>
		</section>
	</section>


	<?php
		/**
		 * woocommerce_after_main_content hook
		 *
		 * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
		 */
		do_action( 'woocommerce_after_main_content' );
	?>
  • Вопрос задан
  • 970 просмотров
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
В комментариях к каждому do_action указано, что на него подвешено. Отключайте все, что не нужно через functions.php:
function remove_woo_content() {
	// 1й аргумент - хук из которого нужно выпилить фрагмент
	// 2й аргумент - функция нужного фрагмента, который выпиливаем
	// 3й аргумент - приоритет с которым данная функция захукана
	remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 );
}
add_action( 'init', 'remove_woo_content' );

И так для всех блоков. Это разумный и "правильный" подход, при котором вы можете четко контролировать что не надо грузить, а также подгружать что-то свое в нужных местах. Также, для плагинов остается возможность подключаться куда надо и выводить свой контент.

Второй вариант - в папке темы создаете папку woocommerce, копируете из папки плагина woocommerce/templates нужный шаблон(ы) и редактируете его, вплоть до простого удаления ненужного кода.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
orlov0562
@orlov0562
I'm cool!
При редактировании готовых тем, есть возможность столкнуться с тем, что отредактированные файлы будут перезаписаны при обновлении темы. Бороться с этим можно с помощью плагинов запрещающих обновление.
Либо созданием копии темы и изменении её id/версии.

В остальном, проблем нет. Темы на то и темы, чтобы вносить в них изменения, если это необходимо. Поэтому просто создавай копию оригинальной темы и модифицируй её так, как необходимо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы