Wordpress获取自定义元信息

时间:2015-09-02 12:24:50

标签: wordpress woocommerce

 <?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>";
}


?>

我正在尝试通过插件添加帖子元信息。但它没有用。

实际上,产品ID和帖子ID是否相同?

对不起,我得到了它:

<?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>";

?>

3 个答案:

答案 0 :(得分:0)

试试这个:

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

答案 1 :(得分:0)

如果没有看到这个其他插件,或者您向我们展示了帖子元_is_gift_wrappable如何保存,我们很难/不可能编写精确的条件。但是,如果我们假设它是一个复选框,WooCommerce通常会将复选框meta保存为&#34; yes&#34;或&#34;不&#34;因为真正的布尔(又名真假)在元中有点时髦。

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>";
}

或者,元键可以存在如果为真,如果不可存在则不存在,在这种情况下if($is_wrappable)就足以满足条件逻辑。

答案 2 :(得分:0)

您可以尝试使用$post->id代替$product->id。通过设置global $post,$product;,您可以从任何地方检索自定义字段。

<?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>";
 }

?>

请务必设置正确的前缀&#34; _is_gift_wrappable&#34;对于您尝试从中检索数据的字段。