@MaxKondratenko

Как добавить собственные хуки в WP WC?

Столкнулся со следующим, понадобилось вывести в определённом месте артикул товара (он же SKU), но используя этот хук "woocommerce_template_single_meta", выводятся так же теги и категории. Сделал следующее в файле wc-template-function после

if ( ! function_exists( 'woocommerce_template_single_meta' ) ) {

	/**
	 * Output the product meta.
	 *
	 * @subpackage	Product
	 */
	function woocommerce_template_single_meta() {
		wc_get_template( 'single-product/meta.php' );
	}
}


дописал

if ( ! function_exists( 'woocommerce_template_single_sku' ) ) {

	/**
	 * Output the product meta.
	 *
	 * @subpackage	Product
	 */
	function woocommerce_template_single_sku() {
		wc_get_template( 'single-product/sku.php' );
	}
}


как видите wc_get_template( 'single-product/meta.php' ); ссылается на meta, я взял этот meta, скопировал, переименовал и подправил, убрав оттуда категории и теги.
<?php
/**
 * Single Product Meta Sku
 *
 * @author 		WooThemes
 * @package 	WooCommerce/Templates
 * @version     1.6.4
 * @editor     "xXXx"

 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

global $post, $product;

$cat_count = sizeof( get_the_terms( $post->ID, 'product_cat' ) );
$tag_count = sizeof( get_the_terms( $post->ID, 'product_tag' ) );

?>
<div class="product_meta">

	<?php do_action( 'woocommerce_product_meta_start' ); ?>

	<?php if ( wc_product_sku_enabled() && ( $product->get_sku() || $product->is_type( 'variable' ) ) ) : ?>

		<span class="sku_wrapper"><?php _e( 'SKU:', 'woocommerce' ); ?> <span class="sku" itemprop="sku"><?php echo ( $sku = $product->get_sku() ) ? $sku : __( 'N/A', 'woocommerce' ); ?></span></span>

	<?php endif; ?>

	<?php do_action( 'woocommerce_product_meta_end' ); ?>

</div>


В общем то всё заработало. Но так как я ещё новичек в wp и wc, подскажите правильно ли я поступил и не слетит ли всё при обновлении WC например и есть ли другой способ вывести SKU там где мне нужно?

p.s. Всё это изменял в plugin/woocommerce/....
  • Вопрос задан
  • 1217 просмотров
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
Слетит, функция, а шаблон останется.

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

параметры wc_get_template тут docs.woothemes.com/wc-apidocs/source-function-wc_g...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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