wordpress:如何在页面上提取自定义字段数组

时间:2012-01-13 04:14:01

标签: wordpress field

我有一个包含一系列自定义字段的私有页面。我想做的是能够发现有多少这些字段被填充,然后根据字段的内容填充侧边栏。我有一段有效的代码,但它总是专门查找这四个字段,如果那里没有任何内容,它只显示一个空块。

这是我想要缩小并变得更聪明的代码:

    <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!

1 个答案:

答案 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}}。