1

我已经在其他主题上看到了这一点,但无法弄清楚它是如何完成的。在我的分组产品列表中,标题列为父产品标题-> 子产品标题。我只需要它来列出子产品标题。

我可以看到要更改的代码是:

<a href="' . get_permalink( $child_product['product']->id ) . '">' . $child_product['product']->post->post_title . '</a>

post_title 需要被覆盖,或者代码更改为...什么?

4

2 回答 2

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, '&rarr;')){
        $separator = '&rarr;';
    }

    // 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);
}
于 2014-07-03T23:12:57.947 回答
3

这样做会更干净一些。只需“返回”产品标题而不是“编辑”它。

function clean_product_title($title, $product) {

   return $product->post->post_title;;

}

add_filter('woocommerce_product_title', 'clean_product_title', 10, 2);
于 2015-07-27T08:38:09.330 回答