作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将子主题用于 Woocommerce 的店面主题。在首页,将特色产品的产品名称渲染为h2s。我想将这些更改为 h3s(SEO 原因)。
h2s 使用这个类:woocommerce-loop-product__title。我搜索了 Storefront 主题,我发现该类的唯一地方是在 CSS 中。
我查看了这个文件:/storefront/inc/storefront-template-functions.php 并找到了这个代码:
if ( ! function_exists( 'storefront_featured_products' ) ) {
/**
* Display Featured Products
* Hooked into the `homepage` action in the homepage template
*
* @since 1.0.0
* @param array $args the product section args.
* @return void
*/
function storefront_featured_products( $args ) {
if ( storefront_is_woocommerce_activated() ) {
$args = apply_filters( 'storefront_featured_products_args', array(
'limit' => 4,
'columns' => 4,
'orderby' => 'date',
'order' => 'desc',
'visibility' => 'featured',
'title' => __( 'We Recommend', 'storefront' ),
) );
$shortcode_content = storefront_do_shortcode( 'products', apply_filters( 'storefront_featured_products_shortcode_args', array(
'per_page' => intval( $args['limit'] ),
'columns' => intval( $args['columns'] ),
'orderby' => esc_attr( $args['orderby'] ),
'order' => esc_attr( $args['order'] ),
'visibility' => esc_attr( $args['visibility'] ),
) ) );
/**
* Only display the section if the shortcode returns products
*/
if ( false !== strpos( $shortcode_content, 'product' ) ) {
echo '<section class="storefront-product-section storefront-featured-products" aria-label="' . esc_attr__( 'Featured Products', 'storefront' ) . '">';
do_action( 'storefront_homepage_before_featured_products' );
echo '<h2 class="section-title">' . wp_kses_post( $args['title'] ) . '</h2>';
do_action( 'storefront_homepage_after_featured_products_title' );
echo $shortcode_content;
do_action( 'storefront_homepage_after_featured_products' );
echo '</section>';
}
}
}
echo '<h2 class="section-title">' . wp_kses_post( $args['title'] ) . '</h2>';
echo '<h3 class="section-title">' . wp_kses_post( $args['title'] ) . '</h3>';
最佳答案
好吧,事实证明我看错了地方,做错了事。我需要在我的子主题中的 functions.php 文件中添加一些东西才能让它工作。这是我添加的内容:
remove_action( 'woocommerce_shop_loop_item_title','woocommerce_template_loop_product_title', 10 );
add_action('woocommerce_shop_loop_item_title', 'abChangeProductsTitle', 10 );
function abChangeProductsTitle() {
echo '<h3 class="woocommerce-loop-product__title">' . get_the_title() . '</h3>';
}
我从这个答案中得到了这段代码的基础:
关于php - 如何将 Woocommerce Storefront 中的产品 <h2> 更改为 <h3>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50979203/
我是一名优秀的程序员,十分优秀!