我正在为我的wordpress网站创建搜索页面。我遇到的问题是,我的大多数文章都有显示特色图像的自定义帖子类型。问题是有些人没有。我试图弄清楚如何告诉我的循环,如果存在自定义post类型,则将其包括在内,如果不存在,则忽略该部分代码。这是我的代码:
<div id="wrapper-article" class="grid_12">
<?php
if(function_exists(\'wp_paginate\')) {
wp_paginate();
}
?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div <?php post_class() ?> id="archives">
<h4><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h4>
// HERE\'S THE STUFF THAT IS OPTIONAL
<a href="<?php the_permalink(); ?>"><img src="<?php bloginfo(url); ?><?php echo get_post_meta($post->ID, \'featured-image-large\', true); ?>" title="<?php echo get_post_meta($post->ID, \'featured-image-title\', true); ?>" /></a>
// END OPTIONAL STUFF
<?php the_excerpt(); ?>
<a href="<?php the_permalink(); ?>" class="button-blue"><span>Continue Reading</span></a>
</div>
<?php endwhile; ?>
<?php
if(function_exists(\'wp_paginate\')) {
wp_paginate();
}
?>
<?php else : ?>
<h2>No posts found.</h2>
<?php endif; ?>
</div><!-- end div#wrapper-article -->
您可以在此处查看测试站点搜索结果:
http://testserver1.staceylanehosting.net/?s=jesus前两个结果是没有关联图像的页面。其余的都是柱子。但也有一些帖子没有图片,我希望if-else语句也适用于这些帖子。
编辑:@andrewkthx:你的答案不完全正确,但它确实让我找到了正确的答案,所以感谢你的发帖。:)
正确的方法是:
<?php if ( get_post_meta($post->ID, \'featured-image-large\', true) ) : ?>
<a href="<?php the_permalink(); ?>"><img src="<?php bloginfo(url); ?><?php echo get_post_meta($post->ID, \'featured-image-large\', true); ?>" title="<?php echo get_post_meta($post->ID, \'featured-image-title\', true); ?>" /></a>
<?php endif; ?>
最合适的回答,由SO网友:andresmijares 整理而成
无需如此复杂,您可以使用has\\u post\\u缩略图功能
<?php if(has_post_thumbnail()): ?>
<a href="<?php the_permalink(); ?>"><img src="<?php bloginfo(url); ?><?php echo get_post_meta($post->ID, \'featured-image-large\', true); ?>" title="<?php echo get_post_meta($post->ID, \'featured-image-title\', true); ?>" /></a>
<?php endif; ?>
瞧!=)