Показывать теги бренда в кнопке «Читать далее» на страницах архива Woocommerce - PullRequest
0 голосов
/ 19 октября 2018

В Woocommerce я использую плагин YITH WooCommerce Brands для работы с брендами продуктов.Я хотел бы показать теги бренда в woocommerce read more button.

Это мой код:

// Shop Catalog mode
if ( zget_option( 'woo_catalog_mode', 'zn_woocommerce_options', false, 'no' ) == 'yes' ) {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );

    // Add the read more button
    // Fixes #917
    add_action( 'woocommerce_after_shop_loop_item', 'zn_woocommerce_more_info' );
    function zn_woocommerce_more_info(){
        echo '<span class="kw-actions">';
            echo '<a class="actions-moreinfo" href="'.get_permalink().'" title="'. __( "MORE INFO", 'zn_framework' ).'">';
            if ( zget_option( 'woo_prod_layout', 'zn_woocommerce_options', false, 'classic' ) == 'style2' ) {
                echo '<svg width="50px" height="24px" class="svg-moreIcon"><circle cx="12" cy="12" r="2"/><circle cx="20" cy="12" r="2"/><circle cx="28" cy="12" r="2"/></svg>';
            } else {
                echo __( "MORE INFO", 'zn_framework' );
            }
            echo '</a>';
        echo '</span>';
    }
}

Мне нужно заменить текст «читать дальше» конкретным брендом каждого продуктана страницах архива woocommerce.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 19 октября 2018

Чтобы получить теги брендов YITH для текущего продукта в подключенной функции, вы будете использовать:

// Get the YITH brands tags (array of term names)
$brands = wp_get_post_terms( get_the_id(), 'yith_product_brand', array( 'fields' => 'names' ) );

// Convert the array to a string (with coma separated brand tags)
$brands = implode(', ', $brands);

или, если у вас есть уникальный бренд, установленный по продукту, вы будете использовать:

// Get the YITH brands tags (array of term names)
$brands = wp_get_post_terms( get_the_id(), 'yith_product_brand', array( 'fields' => 'names' ) );

// Convert the array to a string
$brand = reset($brands);

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

add_action( 'woocommerce_after_shop_loop_item', 'zn_woocommerce_more_info' );
function zn_woocommerce_more_info(){
    echo '<span class="kw-actions">';
        $brands = wp_get_post_terms( get_the_id(), 'yith_product_brand', array( 'fields' => 'names' ) );
        $brand = reset($brands);
        echo '<a class="actions-moreinfo" href="'.get_permalink().'" title="'. $brand .'">';
        if ( zget_option( 'woo_prod_layout', 'zn_woocommerce_options', false, 'classic' ) == 'style2' ) {
            echo '<svg width="50px" height="24px" class="svg-moreIcon"><circle cx="12" cy="12" r="2"/><circle cx="20" cy="12" r="2"/><circle cx="28" cy="12" r="2"/></svg>';
        } else {
            echo $brand;
        }
        echo '</a>';
    echo '</span>';
}

Если вы используете плагин Woocommerce Brands ,Вам придется заменить в коде 'yith_product_brand' на 'product_brand'.Вот и все.

Соответствующий ответ: Показать категорию и название бренда на странице одного продукта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...