我正在自定义一个自定义主题以使用WooCommerce。我遇到的一个问题是在单个产品页面上的产品标题周围添加一个span标记。我已经知道如何在the_title
方法,但不幸的是,该方法在其他地方使用,例如在产品图像alt标记中(这会破坏它)。
是否有办法指定仅修改the_title
当它将主标题打印到页面上而不是像图像属性那样在其他地方使用时?
以下是我目前掌握的情况:
function my_product_title($title, $id)
{
if(in_the_loop() && is_product())
{
return \'<span class="border">FooBar</span>\';
}
return $title;
}
add_filter( \'the_title\', \'my_product_title\', 5, 2);
难道不应该有一种方法
woocommerce_product_title
滤器我试过这么做,但没有成功。
同时,我知道我可以修改单个产品/标题。php模板文件,但我宁愿通过操作或过滤器来实现这一点。
最合适的回答,由SO网友:nonsensecreativity 整理而成
这是你怎么做的,
首先删除woocommerce单标题操作,并创建自己的函数来处理标题,然后使用新创建的函数添加回操作。
<?php
remove_action(\'woocommerce_single_product_summary\',\'woocommerce_template_single_title\',5);
add_action(\'woocommerce_single_product_summary\', \'woocommerce_my_single_title\',5);
if ( ! function_exists( \'woocommerce_my_single_title\' ) ) {
function woocommerce_my_single_title() {
?>
<h1 itemprop="name" class="product_title entry-title"><span><?php the_title(); ?></span></h1>
<?php
}
}
?>