显示描述和图像标题的更好方式

时间:2013-10-27 作者:Dejo Dekic

我正在使用此代码显示“特色图像”标题/描述,并且我将仅在标题/描述存在时显示我的div。因为我的PHP技能不是最好的,所以我的问题是:有没有更好的方法(Wordpressy)来实现这一点 谢谢你。

<?php
$get_desc = esc_html(get_post(get_post_thumbnail_id())->post_content);
$get_caption = esc_html(get_post(get_post_thumbnail_id())->post_excerpt);
$merge = $get_caption . \'<br/>\' . $get_desc;
                the_post_thumbnail();

if(!empty( $get_caption ) && empty( $get_desc )){//If caption is not empty show the div
                echo \'<div class="featured_caption">\' . $get_caption . \'</div>\';                    
                }

else if(!empty( $get_desc ) && !empty( $get_caption )){ //If both caption and description are not empty show the div
                echo \'<div class="featured_caption">\' . $merge . \'</div>\';
                }

else if(empty( $get_caption ) && !empty( $get_desc )){//If description is not empty show the div
                echo \'<div class="featured_caption">\' .  $get_desc . \'</div>\';
                }
                ?>

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

这里没有特定于WordPress的内容,但是您可以通过删除重复部分来使代码更易于阅读。

if ( $id = get_post_thumbnail_id() )
{
    $post = get_post( $id );
    $data = array(
        $post->post_content,
        $post->post_excerpt
    );
    // remove empty elements from array
    $data = array_map( \'trim\', $data );
    $data = array_filter( $data );
    // escape the elements
    $data = array_map( \'esc_html\', $data );

    if ( ! empty ( $data ) )
        print \'<div class="featured_caption">\' . join( \'<br />\', $data ) . \'</div>\';
}

结束

相关推荐