如果自定义字段具有值,请在幻灯片放映中显示。别隐藏

时间:2013-12-30 16:12:26

标签: php if-statement custom-fields pod

我正在使用Wordpress和PODS插件并创建了广告project。在项目中,我创建了一组字段。其中之一是project_slide。如果此字段有值,我想在我的首页上的RoyalSlider中显示它。

我已经开始使用这段代码(=一张幻灯片)。

<?php
    $project = pods('project', array('limit' => -1));
    while ($project->fetch()) {

        echo '<div class="rsContent">';
        echo    '<img class="rsImg" src="' . $project->display('project_slide') . '" alt="' . $project->display('project_title') . '">';
        echo '</div>';
    }
?>

问题是:我添加的每个项目都显示在滑块中。即使project_slide没有价值。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

只需在循环中添加if语句即可 隐藏图片示例
在我的例子中,我只在值不是[空字符串]

时添加幻灯片
while ($project->fetch()) {
    if( $project->display('project_slide') !== ""){
        echo '<div class="rsContent">';
        echo    '<img class="rsImg" src="' . $project->display('project_slide') . '" alt="' .$project->display('project_title') . '">';
        echo '</div>';
    }
}

展开,检测图像是否实际存在
您可以使用file_exists展开它以检查它是否存在(对于具有值的项目,但图像本身不存在)。只要确保file_exists是第二个,这样它只检查文件是否存在,如果字符串不为空(if-statements从左到右)

$project->display('project_slide') !== "" && file_exists($_SERVER['DOCUMENT_ROOT'].$project->display('project_slide')`

默认图片方式:
不是仅在有图像时显示它,而是始终显示它,但是构建默认图像逻辑:

$defaultImage = '/some/image.jpg'; // set a default image outside of the loop
while ($project->fetch()) {
    $src= $project->display('project_slide') !== "" ? $project->display('project_slide') : $defaultImage; // set a default umage
    echo '<div class="rsContent">';
    echo    '<img class="rsImg" src="' . $src . '" alt="' .$project->display('project_title') . '">';
    echo '</div>';
}