WooCommerce Single_PRODUCT_SUMMARY挂钩不起作用

时间:2015-09-30 作者:FranticJ3

我正在尝试将自己的自定义字段添加到产品页面上主产品标题输出之后的单个产品摘要中。我查过woocommerce文档(https://github.com/woothemes/woocommerce/blob/2.3.8/templates/content-single-product.php) 看起来woocommerce\\u single\\u product\\u summary是我的目标。下面是我所做的:

// should hook into woocommerce single product summary and output info
function add_subtitle_to_product() {
    if (get_field(\'subtitle\', get_the_ID())) {
        $output = \'<h4>\'.get_field(\'subtitle\', get_the_ID()).\'</h4>\';
    }
    return $output;
}
   add_action( \'woocommerce_single_product_summary\', \'add_subtitle_to_product\', 6 );
但它不起作用。我甚至确保get\\u field()调用返回true。所以我决定尝试一种不同的方法:

// hook into woocommerce product summary and output test text
add_action(\'woocommerce_single_product_summary\', function() {
    $output = \'<p>Test</p>\';
    return $output;
}, 7);
我尝试将其作为一个具有名称的普通函数,但不起作用,所以我选择了一个仍然不起作用的匿名函数。

我的问题是什么?

1 个回复
最合适的回答,由SO网友:Prasad Nevase 整理而成

在第一个代码块中,尝试更改return $output; 具有echo $output; 这应该是可行的$output 不为空:)

如果您试图将自定义字段附加到产品摘要中,可以使用woocommerce_short_description 过滤器挂钩。请参见以下代码:


function add_subtitle_to_product() {
    global $post;
    if (get_field(\'subtitle\', get_the_ID()))
        return $post->post_excerpt . \'\'.get_field(\'subtitle\', get_the_ID()).\'\';
    else
        return $post->post_excerpt;
}
add_action( \'woocommerce_short_description\', \'add_subtitle_to_product\', 10, 2 );

相关推荐

About Hooks and Filters

嗯,我很难理解动作和过滤器之间的区别。我确实在代码中使用动作,但我是一个新手,甚至连一点过滤器都不知道。我去过codex,以及NickTheGeek、BillErickson、GaryJones等的多个网站,但没有去过vein。如果你能用简单的话告诉我,并举例说明动作、过滤器和挂钩的基本内容和区别。非常感谢。