Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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

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 get_post_meta无法返回GTIN编号_Php_Wordpress_Woocommerce - Fatal编程技术网

Php get_post_meta无法返回GTIN编号

Php get_post_meta无法返回GTIN编号,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,下面我的PHP代码的目的是在可用时显示产品GTIN编号,在不可用时显示消息。但无论是否存在GTIN值,它都只返回消息 // https://businessbloomer.com/woocommerce-add-text-add-cart-single-product-page/ add_action( 'woocommerce_single_product_summary', 'custom_data_above_add_to_cart_button', 6 ); function cu

下面我的
PHP
代码的目的是在可用时显示产品
GTIN
编号,在不可用时显示消息。但无论是否存在
GTIN
值,它都只返回消息

// https://businessbloomer.com/woocommerce-add-text-add-cart-single-product-page/   
add_action( 'woocommerce_single_product_summary', 'custom_data_above_add_to_cart_button', 6 );
function custom_data_above_add_to_cart_button( $product ) {

// https://wordpress.stackexchange.com/a/165757/135006
      if ( get_post_meta( $post->ID, 'wccaf_gtin', true ) ) {

        echo '<p>'.get_post_meta( $post->ID, 'wccaf_gtin', true ).'</p>';

    } else {

        echo '<p>GTIN unspecified.</p>';

    }
}
//https://businessbloomer.com/woocommerce-add-text-add-cart-single-product-page/   
添加操作('woocommerce\u single\u product\u summary','custom\u data\u Upper\u add\u to\u cart\u button',6);
功能自定义数据按钮上方添加到购物车按钮($product){
// https://wordpress.stackexchange.com/a/165757/135006
if(获取帖子元($post->ID,'wccaf_gtin',true)){
回显“”。获取“post”meta($post->ID,“wccaf\u gtin”,true)。“

”; }否则{ 回声'GTIN未指定。

'; } }
像这样使用

add_action('woocommerce_single_product_summary', function($product){
if ( get_post_meta( $product->get_id(), 'wccaf_gtin', true ) ) {
    echo '<p>'.get_post_meta( $product->get_id(), 'wccaf_gtin', true ).'</p>';
} else {
    echo '<p>GTIN unspecified.</p>';
}
}, 6, 1);
add_action('woocommerce_single_product_summary',函数($product){
if(get_post_meta($product->get_id(),'wccaf_gtin',true)){
回显“”。获取发布元($product->get\u id(),'wccaf\u gtin',true)。“

”; }否则{ 回声'GTIN未指定。

'; } }, 6, 1);
使用
$product->get_id()
而不是
$post->id
。如果你有一个旧版本的wordpress,你必须使用
$product->id
,或者一个btter解决方案是更新插件。由于get_id()函数在版本2.6.0中可用,因此当我现在尝试加载产品页面时,它会暂停?您安装了哪个woocommerce版本?或者您可以添加
global$post
在函数的最开始,我尝试了您的解决方案的一种变体:
$product->id
,产品页面现在可以正常加载,但再次显示的是消息而不是值。您确定元键wccaf_gtin是正确的吗?这背后的原因是什么?我的PHP不太流利,你能解释一下吗?
get\u post\u meta
需要post ID作为第一个参数,全局$post在这里不起作用,你有
$product
对象。因此,您将从
$product->get_ID()
获取帖子ID,当然您必须确保此
wccaf_gtin
元键正确。