我正在尝试将自己的自定义字段添加到产品页面上主产品标题输出之后的单个产品摘要中。我查过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);
我尝试将其作为一个具有名称的普通函数,但不起作用,所以我选择了一个仍然不起作用的匿名函数。
我的问题是什么?
最合适的回答,由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 );