如何过滤 WooCommerce 页面标题?

How to filter WooCommerce page title?

我想通过在 <h1> 中添加 <span> 标签来过滤商店页面标题。 在 archive-product.php-file 中,存在以下代码:

<?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
        <h1 class="woocommerce-products-header__title page-title"><?php woocommerce_page_title(); ?></h1>
    <?php endif; ?>

我不太明白如何使用这个过滤器。我可以使用自定义模板添加 <span> 但我想知道是否可以改用此过滤器。还是只是为了实际显示标题?

looking into the actual function woocommerce_page_title 时,它似乎可以被过滤:

$page_title = apply_filters( 'woocommerce_page_title', $page_title );

但是当我向 woocommerce_page_title 添加过滤器时,没有任何反应。我尝试用 add_action('plugins_loaded')add_action('init') 添加它,但它不起作用,例如:

function lcp_wc_filters() {

    add_filter('woocommerce_page_title',function($page_title) {
        return '<span>' . $page_title . '</span>';
    });
}

add_action('plugins_loaded','lcp_wc_filters');

使用此代码

function filter_woocommerce_show_page_title( $array, $int ) { 
    return '<h1 class="woocommerce-products-header__title page-title"><span>'.implode(' ', $array).'</span></h1>';
}; 
add_filter( 'woocommerce_show_page_title', 'filter_woocommerce_show_page_title', 10, 2 ); 

以下使用 'init'-hook:

function filter_woocommerce_page_title( $page_title ) {
    return '<span>'. $page_title . '</span>';
};

function lcp_wc_hooks() { 
    add_filter( 'woocommerce_page_title', 'filter_woocommerce_show_page_title', 10, 2 );
}

add_action('init','lcp_wc_hooks');