我有一个包含一系列自定义字段的私有页面。我想做的是能够发现有多少这些字段被填充,然后根据字段的内容填充侧边栏。我有一段有效的代码,但它总是专门查找这四个字段,如果那里没有任何内容,它只显示一个空块。
这是我想要缩小并变得更聪明的代码:
<li class="sponsorSlot">
<a href="<?php echo get_post_meta(158, 'sponsor_01_uri', true); ?>" title="<?php echo get_post_meta(158, 'sponsor_01_uriTitle', true); ?>">
<img src="<?php bloginfo('stylesheet_directory'); ?>/<?php echo get_post_meta(158, 'sponsor_01_image', true); ?>">
</a>
</li>
<li class="sponsorSlot">
<a href="<?php echo get_post_meta(158, 'sponsor_02_uri', true); ?>" title="<?php echo get_post_meta(158, 'sponsor_02_uriTitle', true); ?>">
<img src="<?php bloginfo('stylesheet_directory'); ?>/<?php echo get_post_meta(158, 'sponsor_02_image', true); ?>">
</a>
</li>
<li class="sponsorSlot">
<a href="<?php echo get_post_meta(158, 'sponsor_03_uri', true); ?>" title="<?php echo get_post_meta(158, 'sponsor_03_uriTitle', true); ?>">
<img src="<?php bloginfo('stylesheet_directory'); ?>/<?php echo get_post_meta(158, 'sponsor_03_image', true); ?>">
</a>
</li>
<li class="sponsorSlot">
<a href="<?php echo get_post_meta(158, 'sponsor_04_uri', true); ?>" title="<?php echo get_post_meta(158, 'sponsor_04_uriTitle', true); ?>">
<img src="<?php bloginfo('stylesheet_directory'); ?>/<?php echo get_post_meta(158, 'sponsor_04_image', true); ?>">
</a>
</li>
你会看到我正在尝试做什么。如果没有关系,如果有1个或8个条目,它会很好,如果没有明确指定,它将填充那里的内容。我的想法是构建一个数组,然后只需逐步遍历数组来构建我需要的元素。
谢谢大家!
WR!
答案 0 :(得分:1)
您只需添加if条件即可检查自定义字段是否存在。
像
这样的东西<?php if((get_post_meta(158, "sponsor_01_uri", true)) || (get_post_meta($post->ID, "sponsor_01_uriTitle", true))) { ?>
是的,你可以遍历get_post_meta()返回的值,但是默认情况下,根据文档,它返回一个包含你指定的键的所有值的数组,但是你通过指定$single
来覆盖它{{} 1}}。