我正在使用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
没有价值。知道如何解决这个问题吗?
答案 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>';
}