获取数据(如果存在),如果不存在[CMB2]

时间:2017-02-17 13:40:28

标签: wordpress

我使用wordpress CMS和CMB2插件来创建元框和自定义字段。所以我试图在这样的前端制作:

如果my_custom_text_field中有内容(填写) - 然后获取此数据,但如果它为空则显示一些文本。我使用cmb2自定义元框插件来制作自定义元框和字段。我有第一部分

    <?php $seo_title = get_post_meta( get_the_ID(), 'seo_general_title', true );  echo esc_html( $seo_title );?>

但如果此字段为空,如何获取我的自定义文字我不知道。 有同样问题的主题,但它对我不起作用https://css-tricks.com/forums/topic/cmb2-display-group-field-meta-data-if-exists-if-empty-display-default-text/  也许有人可以帮忙?感谢。

2 个答案:

答案 0 :(得分:1)

<?php 
$seo_title = get_post_meta(get_the_ID(), 'seo_general_title', true);
$seo_title = (empty($seo_title)) ? "Default Value" : $seo_title;
echo $seo_title;

或者我喜欢的方式因为我认为它的可读性更好(你在IF子句中定义了正确的值,但要注意不要忘记始终将赋值放在简单括号中

<?php 
if (empty($seo_title = get_post_meta(get_the_ID(), 'seo_general_title', true)))
    $seo_title = "Default Value";
echo $seo_title;

或者最基本的&#34;方式 - 但是这需要get_post_meta()函数始终返回字符串值

<?php
$seo_title = get_post_meta(get_the_ID(), 'seo_general_title', true);
if ($seo_title == "") {
    $seo_title = "Default Value";
}
echo $value;

最后,它实际上取决于你的口味。

答案 1 :(得分:1)

这个答案可以帮到你:

https://wordpress.stackexchange.com/questions/56597/if-get-post-meta-is-empty-do-something

  <?php $seo_title = get_post_meta( get_the_ID(), 'seo_general_title', true ); 
  if ( !empty($seo_title)){
     echo $seo_title;
  }
 ?>
相关问题