【问题标题】:PHP if statement with advanced custom fields具有高级自定义字段的 PHP if 语句
【发布时间】:2013-07-07 15:03:19
【问题描述】:

我正在使用 Wordpress 和高级自定义字段插件来创建画廊缩略图。有 9 个可能的上传字段,但只有第一个是必需的。

目前我遇到一个问题,即任何字段为空,它仍在输出img 标记但显示损坏的图像(因为没有图像)。

我需要创建一个 if 语句,该语句仅在字段具有 src(或字段不为空)时输出 HTML。

这是我当前的代码,其中有 9 个:

<li>
    <div class="portfolioPicker">
       <?php $image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail'); ?>
       <img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" />
    </div>
</li>

我为 PHP if 语句找到了一段很好的代码,但我正在努力让它与我当前的输出代码一起工作:

<?php if( get_post_meta($post->ID, "mycustomfieldname", true) ): ?>
<?php echo get_post_meta($post->ID, "mycustomfieldname", $single = true);?>
<?php else: ?>

<?php endif; ?>

【问题讨论】:

    标签: php if-statement wordpress


    【解决方案1】:

    这里有三种可能的解决方案,如果设置了数组键,则只显示标签:

    <li>
        <div class="portfolioPicker">
        <?php
                $image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail');
                if($image[0] != NULL)
                {
        ?>
                    <img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" />
        <?php
                }
        ?>
        </div>
    </li>
    

    <li>
        <div class="portfolioPicker">
        <?php
                $image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail');
                if(is_null($image[0]) == false)
                {
        ?>
                    <img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" />
        <?php
                }
        ?>
        </div>
    </li>
    

    <li>
        <div class="portfolioPicker">
        <?php
                $image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail');
                if(empty($image[0]) == false)
                {
        ?>
                    <img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" />
        <?php
                }
        ?>
        </div>
    </li>
    

    您使用哪个函数以及如何使用它取决于 empty 值本身 - 什么是“空”? IE。 '', 0, ' ', NULL 都可能意味着空。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-01-17
      • 2015-09-27
      • 2014-10-13
      • 2014-03-10
      • 1970-01-01
      • 2013-10-23
      • 2021-03-22
      • 1970-01-01
      • 2013-07-14
      相关资源
      最近更新 更多