Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在WP函数中正确使用price变量和echo命令以进行商业操作_Php_Wordpress_Function_Woocommerce - Fatal编程技术网

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丢失。非常感谢。