@ligisayan

Как мне поменять блоки местами на странице товара wordpress?

Приветствую! Есть у меня магазин на wordpress+woocommerce, в котором есть 2 блока: блок со скидкой (собственная функция в functions.php) выводится на странице товара с помощью хука таким образом
add_action('woocommerce_single_product_summary', 'woocommerce_template_economy', 13);

и счетчик времени жизни скидки (реализован с помощью плагина woo sale revolution flashsale)
выводится с помощью фильтров в таком виде:
class WC_flash_sale_Product {
	public function __construct()
	{
			add_filter( 'woocommerce_grouped_price_html', array(&$this, 'on_price_htmla'), 10, 2 );
			add_filter( 'woocommerce_variable_price_html', array(&$this, 'on_price_htmla'), 10, 2 );
			add_filter( 'woocommerce_sale_price_html', array(&$this, 'on_price_htmla'), 10, 2 );
			add_filter( 'woocommerce_price_html', array(&$this, 'on_price_htmla'), 10, 2 );
			add_filter( 'woocommerce_empty_price_html', array(&$this, 'on_price_htmla'), 10, 2 );
			add_filter( 'woocommerce_variation_price_html', array(&$this, 'on_price_htmla'), 10, 2 );
			add_filter( 'woocommerce_variation_sale_price_html', array(&$this, 'on_price_htmla'), 10, 2 );
			add_filter( 'woocommerce_variable_sale_price_html', array(&$this, 'on_price_htmla'), 10, 2 );
	}
}
new WC_flash_sale_Product();

Пытаюсь поменять блоки местами (с плагином идет первым), выставляю приоритеты, но не получается..
Привожу картинки для наглядности:
должно быть так:
7da094035b0b40b58218540903a59e7f.png
изначально у меня получается так:
28b121b275444afea8e4cde821565ab8.png
после замены по совету WP Panda получилось так:
efaf6c09a2884e36ba5059693af56c72.png
  • Вопрос задан
  • 1838 просмотров
Пригласить эксперта
Ответы на вопрос 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
Чегойто ничего не понятно.
woocommerce_single_product_summary - вывводит всякое про продукт, на него повешены следующие экшены,

add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );

соответственно для замены их местами, достаточно сделать
//отключить функцию от экшена с текущим приоритетом
remove_action('action','function',priory)
// подключить с неообходимым
add_action('action','function',priory)


фильтры же из конструктора класса они для изменения html кода цены и никак на расположение блоков не влияют
Ответ написан
Ваш ответ на вопрос

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

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