WooCommerce: изменить заголовок связанных продуктов и удалить / изменить <h2> - PullRequest
1 голос
/ 02 апреля 2020

Я хочу изменить текст заголовка связанных продуктов и удалить <h2> по причинам SEO.

Я нашел несколько ответов для изменения текста заголовка здесь: Переименовать заголовок связанных продуктов в Woocommerce 3 Но код оттуда и ответ не работают (больше?).

И есть другая проблема. В заголовке используется тег <h2>, который я также хочу изменить.

Я нашел следующий код в шаблоне related.php:

<?php
$heading = apply_filters( 'woocommerce_product_related_products_heading', __( 'Related products', 'woocommerce' ) );

if ( $heading ) : ?>
    <h2><?php echo esc_html( $heading ); ?></h2>
<?php endif; ?>

Есть ли способ проверить завершенное вывод $heading без изменения файла шаблона?

1 Ответ

1 голос
/ 02 апреля 2020

Сначала вы можете удалить существующий h2, добавив фильтр

add_filter('woocommerce_product_related_products_heading', function(){return false;});

Затем вы можете переписать функцию woocommerce_product_loop_start, которая является подключаемой.

function woocommerce_product_loop_start( $echo = true ) {
    ob_start();

    wc_set_loop_prop( 'loop', 0 );

    wc_get_template( 'loop/loop-start.php' );

    $loop_start = apply_filters( 'woocommerce_product_loop_start', ob_get_clean() );

    if ( $echo ) {
        // check to see if it's the related loop
        if (wc_get_loop_prop('name') == 'related'){
            // Change the heading to whatever you want
            echo "<h3>Related Products</h3>";
        }
        echo $loop_start; // WPCS: XSS ok.
    } else {
        return $loop_start;
    }
}
...