简而言之,我还不是PHP的大师,我也不完全确定如何在我的模板中放置一系列检查(if语句),以便根据客户端在我创建的CPT中上载/填写的内容来显示什么。。。
我想让它做的是:
(1)检查是否输入了URL(自定义元框)-如果是,显示它并将其环绕在特色图像周围
(2)如果未选择URL,则仅显示特色图像本身
(3)最后,如果根本没有创建横幅图像,则显示默认图像。。。。
谢谢你的帮助!
以下是迄今为止我所拥有的,但目前还不起作用的内容:
<?php if (get_post_meta($post->ID, \'meta_box_topbanner_url\', true))?>
<a href="<?php echo get_post_meta ($post->ID, \'meta_box_topbanner_url\', true); ?>" target="_blank">
<?php the_post_thumbnail(\'top-banner-img\', array(\'class\' => \'top-banner-img\', \'title\' => \'\')); ?>
</a>
<?php elseif the_post_thumbnail(\'top-banner-img\', array(\'class\' => \'top-banner-img\', \'title\' => \'\')); ?>
<?php else \'<img src="images/epr_bannder_default.jpg" alt="epr_bannder_default" width="960" height="200" />\' ?>
最合适的回答,由SO网友:developdaly 整理而成
您有一些基本的语法问题。你的elseif
语句实际上并没有检查任何内容,也并没有正确地用括号括起来。逻辑更适合检查第一个条件是否为真,然后检查第二个条件是否为真,最后如果所有其他条件都失败,则显示硬编码图像。
<?php $meta_box_topbanner_url = get_post_meta( $post->ID, \'meta_box_topbanner_url\', true ); ?>
<?php $post_thumbnail = get_the_post_thumbnail( $post->ID ); ?>
<?php if ( !empty( $meta_box_topbanner_url ) ) : ?>
<a href="<?php echo get_post_meta ($post->ID, \'meta_box_topbanner_url\', true); ?>" target="_blank">
<?php the_post_thumbnail(\'top-banner-img\', array(\'class\' => \'top-banner-img\', \'title\' => \'\')); ?>
</a>
<?php elseif ( !empty( $post_thumbnail ) ) : ?>
<?php the_post_thumbnail(\'top-banner-img\', array(\'class\' => \'top-banner-img\', \'title\' => \'\')); ?>
<?php else : ?>
<img src="images/epr_bannder_default.jpg" alt="epr_bannder_default" width="960" height="200" />\' ?>
<?php endif; ?>
EDIT
我从
elseif
条件