Checking conditionals

时间:2013-03-27 作者:TheWebs

我们都知道默认的WordPress帖子类型,包括旁白、画廊、状态、聊天等等。任何好的主题都应该支持它们。

如果一个主题确实支持所有这些,那么从干净的编程标准来看,最好是执行if、elseif、elseif、else,还是在检查您是否在特定的帖子类型时使用switch case。

例如:

    if(is_aside()){

            }elseif(is_status()){

            }elseif(is_quote()){

            }elseif(is_link()){

            }elseif(is_chat()){

            }elseif(is_gallery()){

            }elseif(is_image()){

            }elseif(is_chat()){

            }elseif(is_video()){

            }elseif(is_audio()){

            }else{
                $this->_title($this->_options);
                $this->_author_and_date();
                $this->_thumbnail($this->_options);

                the_content();                  
            }
看起来又脏又脏,你建议怎么办?

note: 有些条件可能是错误的,这就是一个例子。

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

您可以使用get_post_format() 构建条件(或开关)。

$format = get_post_format();

if ( \'status\' == $format ) {
    //
} 
else if ( \'quote\' == $format ) {
    //
}
// etc.
else {
    // get_post_format() returns FALSE for "standard"
}

SO网友:Marc Dingena

就程序流程而言,这不会产生太大影响。值得注意的一点是:

如果使用if-else, 通常建议frequently used if condition 在顶部if-else 梯子

A.switch case 构造可能有助于易读性,但并不总是如此,这取决于条件的复杂程度。

结束

相关推荐

Loop being strainge

因此,我拼凑了一个函数,它可以执行以下操作:protected function _query_post($query){ $original = $this->_wp_query; $wp_query = new WP_Query($query); if($wp_query->have_posts()){ while($wp_query->have_posts()){ $w