ACF中链接的条件逻辑

时间:2015-06-08 14:58:41

标签: php wordpress if-statement conditional advanced-custom-fields

所以这就是我想要做的事情。我正在使用高级自定义字段,并输出带有链接的标题,但有时它们是无链接。如果没有链接,我不希望将其包裹在标签中,但我似乎无法确定这一部分。

以下是我的部分页面的代码

<div class="small-12 columns">
    <h2>Show Information</h2>
    <?php if( have_rows('show_information') ): ?>
    <?php while( have_rows('show_information') ): the_row(); ?>
    <p><a href="<?php the_sub_field('show_link'); ?><?php the_sub_field('show_pdf'); ?>" target="_blank">
        <?php the_sub_field('show_title'); ?></a></p>
    <?php endwhile; ?>
    <?php endif; ?>
</div>

那么我现在如何使用转发器字段,我正在显示链接或PDF和标题。我遇到了问题,如果他们没有链接或PDF,标题仍将包含在标签中,并且只会在前端链接回自身。我想如果他们没有附上链接或PDF附加标签会消失,只是文本没有链接。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

您应该使用get_sub_field()来确定链接是否存在,然后使用条件。类似的东西:

<div class="small-12 columns">
    <h2>Show Information</h2>
    <?php if( have_rows('show_information') ): ?>
        <?php while( have_rows('show_information') ): the_row(); ?>
            <p>
                <?php 
                    if ( get_sub_field('show_link') ) {
                        echo '<a href="' . get_sub_field('show_link') . get_sub_field('show_pdf') . '" target="_blank">';
                        echo get_sub_field('show_title') . '</a>';
                    } else { 
                        the_sub_field('show_title');
                    }
                ?>
            </p>
        <?php endwhile; ?>
    <?php endif; ?>
</div>
相关问题