(называемый «Banish») Мы используем на сайте бренды WooCommerce, но должны показать бренд рядом с сайтом именем, как для клиентов, так и для администраторов, ответственных за выбор акций. Мне удалось вставить название бренда, используя крючки на страницах отдельных продуктов, CART, оформлении и по электронной почте. Мне нужно добавить бренд для каждого продукта на экраны заказа администратора в бэкэнд.add_action('woocommerce_before_order_itemmeta','woocommerce_before_order_itemmeta',10,3);
function woocommerce_before_order_itemmeta($item_id, $item, $product){
echo '
'.get_the_term_list($product->id, 'product_brand').'
';
}
< /code>
Тем не менее, это ставит бренд ниже мета - как я могу изменить это, чтобы он появился выше (или даже лучше, прежде чем название продукта на каждом элементе). См. Связанный скриншот ниже, где бренд (в данном случае, называемый «Banish»), появляется под элементом Meta.
update 'woocommerce_order_item_name' крючок, а также «woocommerce_cart_item_name 'и' woocommerce_cart_item_name 'крючки, но ни один из них не повлияет на страницы порядка редактирования. Вот набор крючков, которые в настоящее время развернуты: < /p>
// Utility: Get the product brand term names (from the product ID)
function wc_get_product_brand( $product_id ) {
return implode(', ', wp_get_post_terms($product_id, 'product_brand', ['fields' => 'names']));
}
// Display product brand in Cart and checkout pages
add_filter( 'woocommerce_cart_item_name','customizing_cart_item_name', 10, 3 );
function customizing_cart_item_name( $product_name, $cart_item, $cart_item_key ) {
$product = $cart_item['data']; // The WC_Product Object
$permalink = $product->get_permalink(); // The product permalink
if( $brand = wc_get_product_brand( $cart_item['product_id'] ) ) {
if ( is_cart() )
return sprintf('%s %s', esc_url($permalink), $brand, $product->get_name());
else
return $brand . ' ' . $product_name;
}
return $product_name;
}
// Display product brand in order pages and email notification
add_filter( 'woocommerce_order_item_name', 'customizing_order_item_name', 10, 2 );
function customizing_order_item_name( $product_name, $item ) {
$product = $item->get_product(); // The WC_Product Object
$permalink = $product->get_permalink(); // The product permalink
if( $brand = wc_get_product_brand( $item->get_product_id() ) ) {
if ( is_wc_endpoint_url() )
return sprintf('%s %s', esc_url($permalink), $brand, $product->get_name());
else
return $brand . ' ' . $product_name;
}
return $product_name;
}
// Display brand name on single product pages
/*
* Increase `1` on line 7 to move position of brand name
* */
add_action( 'woocommerce_single_product_summary','wc_brands_add_brand_name', 4 );
function wc_brands_add_brand_name() {
global $product;
$brands = implode(', ', wp_get_post_terms($product->get_id(), 'product_brand', ['fields' => 'names']));
echo "" . $brands . "";
}
//Display product brand in admin edit orders screens
add_action('woocommerce_before_order_itemmeta','woocommerce_before_order_itemmeta',10,3);
function woocommerce_before_order_itemmeta($item_id, $item, $product){
echo '
'.get_the_term_list($product->id, 'product_brand').'
';
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... oduct-name
Добавить термин бренда woocommerce к данным заказа администратора выше названия продукта ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Назначьте пользовательский термин таксономии при создании продукта через WooCommerce REST API
Anonymous » » в форуме Php - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Добавьте разрыв строки в имена элементов корзины Woocommerce и названия элементов заказа.
Anonymous » » в форуме Php - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-