这不是您应该使用的方式elseif
. 请注意:elseif
条件将运行,无论初始结果如何if()
. 您应该使用嵌套if()
相反
看看这个:
<?php
$year = date ("Y");
query_posts(
array(
get_option(\'year\') => $year,
\'posts_per_page\' => 5,
\'showposts\' => 5)
);
while ( have_posts() ) : the_post();
if ( has_post_thumbnail() ) {
$imgsrc = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'medium\' );
$imgsrc = $imgsrc[0];
} else {
$postimages = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=0" );
foreach( $postimages as $postimage ) {
$imgsrc = wp_get_attachment_image_src($postimage->ID, \'medium\');
$imgsrc = $imgsrc[0];
}
if ( !$imgsrc ) {
preg_match(\'/<img [^>]*src=["|\\\']([^"|\\\']+)/i\', get_the_content(), $match);
$imgsrc = $match[1];
if (!$imgsrc){
$img = get_post_custom_values(\'featured_img\');
$imgsrc = $img[0];
if (!$imgsrc){
$img = get_post_custom_values(\'backdrop_img\');
$imgsrc = $img;
if (!$imgsrc){
$img = get_template_directory_uri().\'/movies/no_img.png\';
$imgsrc = $img;
}
}
}
}
} ?>
<div class="post_content">
<img src="<?php echo $imgsrc; $imgsrc = \'\'; ?>
<a href="<?php the_permalink() ?>" class="slide-link" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<p class="sc-desc"> <?php the_excerpt(); ?></p>
</div>
<?php } endwhile; ?>
在这段代码中,我们检查帖子是否有缩略图。如果没有,那么继续去找孩子们。然后再次检查是否已检索到图像。如果没有,那么我们继续下一种方法。然后我们再检查一遍,以此类推。
最后,如果所有方法都不起作用,我们只需返回png
映像并结束if()
.
FYI: 这就是elseif
工程:
if ( //First condition ) {
// check if the first condition is true, and do stuff
} elseif ( //Second condition ) {
//Check second condition too, and do some more stuff, no matter what was the result of the first condition and stuffs
}
PS: 我没有验证WordPress语法。我刚刚更新了
if()
为您构建。
PS2: 您也可以使用if()
之后if()
, 一行接一行。这也是一种解决方案,如下所示:
if ( //First ) {
// First stuff
} else {
If ( //Second ) //Some code here;
if ( //Third ) //Some more code;
if ( //4th ) //Some extra code;
}
根据您的需求和风格进行选择。