我有一些选项可以在页脚中显示不同的地址,具体取决于用户是否从帖子对象字段中选择页面ID。我有它的工作,如果用户选择post object ='Music',它会显示'音乐'地址等但我无法工作的是,如果没有选择任何选项,那么只显示默认地址。
这是我到目前为止所做的:
<?php if( have_rows('footer_details', 'option') ): ?>
<?php while( have_rows('footer_details', 'option') ): the_row(); ?>
<?php
$post_object = get_sub_field('company', 'option');
?>
<?php
if ( is_page($post_object) ) { ?>
<div class="company-footer">
<?php echo get_sub_field('address', 'option'); ?>
</div>
<?php }
?>
<?php endwhile; ?>
<?php endif; ?>
<p><?php echo get_field('footer_address', 'option'); ?></p>
答案 0 :(得分:0)
如果设置了address
字段,您想要做的是检查,如果没有,则显示default
地址。
执行此操作的一种方法如下所示 - 我已将地址加载到变量中,如果变量为&#34;为空&#34;,则会将默认地址分配给变量。
注意:
在下面的代码中,我做了两件事:
我删除了很多打开/关闭PHP标记。除了从PHP转换为HTML以及使代码更加“嘈杂”之外,这些都是不必要的。而且难以阅读。
我已添加评论来解释我正在做的事情。如果需要,您可以安全地删除这些注释。
<?php // load footer address outside of repeater
$default = get_field('footer_address', 'option');
if( have_rows('footer_details', 'option') ):
// removed closing / opening PHP tags for simplicity
while( have_rows('footer_details', 'option') ):
// moved the_row to it's own line for clarity
the_row();
$post_object = get_sub_field('company', 'option');
if ( is_page($post_object) ) {
// load the address custom field into a variable named $address
$address = get_sub_field('address', 'option');
// check if the $address variable is empty
if ( ! $address ) {
// if it is empty, load the default into the $address variable
$address = $default;
} ?>
<div class="company-footer">
<?php // output the $address variable, which contains either the address or the default address
echo $address; ?>
</div>
<?php }
endwhile;
endif; ?>
答案 1 :(得分:0)
经过大量的游戏,我设法解决了它
spring.factories