Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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
Wordpress获取自定义元信息_Wordpress_Woocommerce - Fatal编程技术网

Wordpress获取自定义元信息

Wordpress获取自定义元信息,wordpress,woocommerce,Wordpress,Woocommerce,我试图得到一个插件添加的帖子元信息。但它不起作用 实际上,产品id和帖子id是一样的吗 对不起,我想我明白了: <?php $is_wrappable = get_post_meta( $product->id, '_is_gift_wrappable', true ); if($is_wrappable == 'true'){ echo "Want this gift wrapped? <a href='".get_permalink($product_id)."'&

我试图得到一个插件添加的帖子元信息。但它不起作用

实际上,产品id和帖子id是一样的吗

对不起,我想我明白了:

 <?php 
$is_wrappable = get_post_meta( $product->id, '_is_gift_wrappable', true );

if($is_wrappable == 'true'){
echo "Want this gift wrapped?  <a href='".get_permalink($product_id)."'>Click here.</a>";
}


?>
试试这个:

<?php 
global $post;
global $product;

$is_wrappable = get_post_meta( $product->id, '_is_gift_wrappable', true );

if ( $is_wrappable == '' && $this->gift_wrap_enabled ) {
$is_wrappable = 'yes';
}

if ( $is_wrappable == 'yes' ) 
echo "Want this gift wrapped?  <a href='".get_permalink($product_id)."'>Click here.</a>";

?>

如果没有看到其他插件,或者你没有向我们展示如何保存post meta\u is\u gift\u wrappable,我们很难/不可能编写精确的条件。然而,如果我们假设它是一个复选框,那么我们通常会将复选框meta保存为yes或no,因为真正的布尔值(又称true和false)在meta中有点古怪

if($is_wrappable){
    echo "Want this gift wrapped?  <a href='".get_permalink($product_id)."'>Click here.</a>";
}

或者,如果为true,则元键可能存在,如果不可包装,则元键可能不存在,在这种情况下,if$is_wrappable对于条件逻辑来说就足够了

您可以简单地尝试使用$post->id而不是$product->id。通过设置全局$post,$product;您可以从任何地方检索自定义字段

global $product;

$is_wrappable = get_post_meta( $product->id, '_is_gift_wrappable', true );

// dump the value for debug purposes. delete when finished. 
var_dump($is_wrappable);

if($is_wrappable == 'yes'){
echo "Want this gift wrapped?  <a href='".get_permalink($product->id)."'>Click here.</a>";
}

请确保您为试图从中检索数据的字段设置了正确的前缀“is\u gift\u wrappable”。

谢谢您的回复,但我认为问题是,我没有获得$is\u wrappable中的信息。您能提供有关主查询的更多详细信息吗?从哪里获得$product->id?$post和$product不一样,尽管$post->id将等于$product->id。
<?php
 global $post, $product;

 $is_wrappable = get_post_meta( $post->id, '_is_gift_wrappable', true );

 if($is_wrappable == '') {
  echo "Want this gift wrapped? <a href='".get_permalink($product_id)."'>Click here.</a>";
 }

?>