Php 在WP函数中正确使用price变量和echo命令以进行商业操作
我有一个可能写得更好的函数,但是我很难用货币和小数来显示价格。我尝试了一些方法,比如用Php 在WP函数中正确使用price变量和echo命令以进行商业操作,php,wordpress,function,woocommerce,Php,Wordpress,Function,Woocommerce,我有一个可能写得更好的函数,但是我很难用货币和小数来显示价格。我尝试了一些方法,比如用wc\u price和get\u price\u html替换get\u price,但都不起作用 有人能告诉我下面的代码有什么问题,以及如何更好地编写那些echo语句,以便它输出以下内容:$x.xx每1/2码 add_action( 'woocommerce_get_price_html', 'eut_single_tag_slug' ); function eut_single_tag_slug() {
wc\u price
和get\u price\u html
替换get\u price
,但都不起作用
有人能告诉我下面的代码有什么问题,以及如何更好地编写那些echo
语句,以便它输出以下内容:$x.xx每1/2码
add_action( 'woocommerce_get_price_html', 'eut_single_tag_slug' );
function eut_single_tag_slug() {
global $product;
$price = $product->get_price();
if ( has_term( 'half-yard', 'product_tag' ) ) {
echo $price;
echo ' per 1/2 Yard';
} elseif ( has_term( 'one-yard', 'product_tag' ) ) {
echo $price;
echo ' per One Yard';
}
}
谢谢默认情况下,在没有任何附加功能的情况下,您应该按照
WooCommerce>Settings>General>Currency options
中设置的格式获取价格
关于函数,它应该返回输出,而不是回显输出。此外,函数本身为您提供了$price
和$product
变量
此外,您总是需要返回一个值(如果没有匹配的条件),只需返回默认值即可
这是您的函数重写、测试和工作:
add_action( 'woocommerce_get_price_html', 'eut_single_tag_slug', 10, 2 );
function eut_single_tag_slug( $price, $product ) {
if ( has_term( 'half-yard', 'product_tag' ) ) {
return $price . ' per 1/2 Yard';
}
if ( has_term( 'one-yard', 'product_tag' ) ) {
return $price . ' per One Yard';
}
return $price;
}
你好,很好!这比我尝试的要干净得多。我添加了这个,但是它没有在价格之后返回“每码”文本,即使标签slug匹配。上面的格式有什么问题吗?这对我很有用。确保您添加了“半码”或“一码”作为产品标签之一。价格输出的变化应该在您的店铺页面上可见。你在哪里检查输出?我还包括了“添加动作”部分。这对我现在也很有用。添加操作中的10,2丢失。非常感谢。