我在其他主题上看过这个,但无法弄清楚它是如何完成的。在我的分组产品列表中,标题列为父产品标题 - >儿童产品标题。我只需要列出Child产品标题。
我可以看到要改变的代码是:
<a href="' . get_permalink( $child_product['product']->id ) . '">' . $child_product['product']->post->post_title . '</a>
post_title是否需要覆盖,或者代码改为......什么?
答案 0 :(得分:3)
(虽然这已经很老了,但仍然是谷歌排名显着的常见问题)
Woocommerce定义了一个过滤器woocommerce_product_title
,它允许您通过修改其显示方式的函数传递产品的标题。
添加过滤器,可能在您的主题functions.php
add_filter('woocommerce_product_title', 'clean_up_title');
这是我目前用来实现这一目标的功能,没有任何承诺,这是最好的方式:
function clean_up_title($title){
// check to see if there is an html arrow in the title
if (strpos($title, '→')){
$separator = '→';
}
// otherwise assume it's the character
else {
$separator = '→';
}
// split the title into multiple parts at the arrows
$prog_array = explode($separator, $title);
// get the last part, the actual product name
$prog_name = end($prog_array);
// slice off any leading or trailing whitespace
return trim($prog_name);
}
答案 1 :(得分:3)
这样做会更清洁。只需“返回”产品标题而不是“编辑”它。
function clean_product_title($title, $product) {
return $product->post->post_title;;
}
add_filter('woocommerce_product_title', 'clean_product_title', 10, 2);