我使用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/
也许有人可以帮忙?感谢。
答案 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;
}
?>