自定义字段/分类的条件显示

时间:2011-07-28 作者:glu

如果自定义字段有值,我希望它显示该值。如果自定义字段没有值,我希望它显示“不适用”。我将此功能用于自定义字段,但无法复制自定义分类法的相同功能。

这适用于自定义字段:

$url = get_post_meta( get_the_ID(), \'event-code\', true );
if ( ! empty( $url ) ) {
print ( $url );
}
else {
print \'N/A\';
}
对于具有值的自定义分类条目,这将显示值和“不适用”:

$promtax = the_terms( get_the_ID(), \'promotion\',\'\' );
if ( ! empty( $promtax ) ) {
print ( $promtax );
}
else {
print \'N/A\';
}
我使用了isset的变体和组合,没有任何运气。谢谢

2 个回复
SO网友:Rarst

the_terms() 回显输出。将输出分配给变量并检查是否需要使用get_the_term_list() 相反

请注意,它也可能返回WP_Error 对象(不会为空),因此您还需要使用is_wp_error().

SO网友:chrisguitarguy

使用get_the_terms. 它将返回空数组、WP\\u错误对象或术语。所以你可以检查它们是否存在。

<?php
$terms = get_the_terms( $post->ID, \'promotion\' );
if( $terms && ! is_wp_error( $terms ) )
{
    foreach( $terms as $term )
    {
        // each $term is an object. you could do something like this....
        $link = get_term_link( $term );
        echo \'<a href="\' . esc_url( $link ) . \'">\' . esc_attr( $term->name ) . \'</a>, \';            
    }
}
else
{
    // no terms found
    echo \'N/A\'; 
}
get_the_term_list 将以同样的方式工作,但您对输出的控制将更少。

<?php
$terms = get_the_term_list( $post->ID, \'promotion\', \'Promotions: \', \' \', \'\' );
if( $terms && ! is_wp_error( $terms ) )
{
    // terms found!
    echo $terms;    
}
else
{
    // no terms found
    echo \'n/a\';
}

结束

相关推荐

如何使wp-signup.php成为一个1步流程

我正在为房地产经纪人开发一个多站点。Wp注册。php从我的主题中使用了错误的页面模板(主页而不是全宽页面模板),所以我从wp注册中获取了一些重要信息。php创建了一个页面模板。结果如下:[http://thewebrockstar.com/realestate/signup/][1]然而,现在第2步(在点击下一步之后)将从我的wp注册页面模板重定向到原来的wp注册页面。php。有什么解决办法吗?我在想注册wp是最容易的。php是一个一步流程(所有内容都在一个页面上),而不是:http://i.stack.