检查是否插入了图像-如果没有,则不显示任何内容

时间:2016-02-11 作者:Stephen

因此,在我的自定义程序中,我有一个部分控制主页上的滑块-客户端可能不想使用所有滑块图像,但所有滑块仍然显示,没有图像的滑块只显示alt标记。

是否有一种方法可以基本上检查是否有图像,如果没有,则不显示该幻灯片?

EDIT: 我正在努力实现类似的目标post_thumbnail 就像如果有图像,则显示它,但如果没有图像,则根本不显示它。

这就是我获得滑块图像的方法:

<div class="item active">
    <img class="img-responsive" src="<?php echo esc_url( get_theme_mod( \'slider_one\' ) ); ?>" alt="Slider 1">
</div>
然后我在我的Customizer.php:

/**
 * Adding the Section for Slider
 */
$wp_customize->add_section(\'slideshow\', array(
    \'title\'             => __(\'Slider Images\', \'patti-theme\'), 
    \'priority\'          => 60,
));

/**
 * Adding the Settings for Slider
 */
$wp_customize->add_setting(\'slider_one\', array(
    \'transport\'         => \'refresh\',
    \'height\'            => 525,
));  

/**
 * Adding the Controls for Slider
 */
$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, \'slider_one_control\', array(
    \'label\'             => __(\'Slider Image #1\', \'patti-theme\'),
    \'section\'           => \'slideshow\',
    \'settings\'          => \'slider_one\',    
)));
有没有办法检查一下slider_one 插入图像,如果没有,则不显示。

如果没有Image 已插入:

enter image description here

然后单击“选择图像”,显示媒体库,从中可以选择图像,甚至可以上载新图像

如何Slider 如果没有图像,则输出图像:

enter image description here

如果src 中的元素img 标记为空。

滑块使用以下代码行输出图像:

<img class="img-responsive" src="<?php echo esc_url( get_theme_mod( \'slider_one\' ) ); ?>" alt="Slider 1">

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

请尝试以下代码:

<div class="item active <?php
    // If image URL is empty, echo "hidden"
    echo (get_theme_mod(\'slider_one\', \'\') == \'\' ? \'hidden\' : \'\');
?>">
    <img class="img-responsive" src="<?php echo esc_url( get_theme_mod( \'slider_one\', \'\' ) ); ?>" alt="Slider 1">
</div>
然后使用以下CSS:

.hidden { display: none }
这将要做的是:

如果未选择图像(即。get_theme_mod(...) == \'\')hidden.hidden

SO网友:majick

只需稍早做一个条件检查来包装div?

<?php if ( get_theme_mod( \'slider_one\', \'\') != \'\') : ?>
<div class="item active">
    <img class="img-responsive" src="<?php echo esc_url( get_theme_mod( \'slider_one\', \'\' ) ); ?>" alt="Slider 1">
</div>
<?php endif; ?>

相关推荐