为帖子显示多个自定义字段

时间:2013-10-20 16:39:17

标签: wordpress custom-fields

我有两个“自定义字段”分配给我的帖子。这两个“自定义字段”都具有相同的名称,但具有不同的“值”。目前,我的代码仅显示其中一个链接。我试图让它显示两者。因此,只要我添加另一个名为“精选博客”的“自定义字段”,它就会继续显示所有这些内容。

自定义字段
1)姓名:精选博客和价值: 704(704为邮政ID)
2)姓名:精选博客和价值: 699(699是postID)

代码用于显示每个帖子的链接。 (只能显示其中一个自定义字段)

输出屏幕截图

enter image description here

正在使用的代码

<?php $related = get_post_meta($post->ID, "Featured-Blog", $single=true);

        $related=explode(',',$related);
        $args = array_merge( array('post__in'  => $related, $wp_query->query ) );
        query_posts($args);
        if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

        <div id="<?php the_ID(); ?>">
            <a href="<?php the_permalink();?>"><p class="caption"><?php the_title(); ?></p></a>
        </div>

    <?php endwhile; else: ?>
    <p>no related</p>
    <?php endif; wp_reset_query();?>

现在下面是我最初尝试使用的旧代码,但最终没有使用。这个确实拉了我的两个“自定义字段”。您可以看到它显然编码不同,因为您可以看到它显示“标题”而不是帖子标题。但我只是使用此代码作为示例向您展示可以显示多个“自定义字段”,除非下面的代码有一个简单的解决方案?也许某些代码表单可以合并到我上面的工作脚本中。上面的代码和这个底部代码都非常接近我正在尝试做的事情。它似乎是一个,有另一个需要的东西。

输出屏幕截图

enter image description here

<div id="related-posts">
<?php
  $custom_fields = get_post_custom($post_id); //Current post id
  $my_custom_field = $custom_fields['Featured-Blog']; //key name
  foreach ( $my_custom_field as $key => $url )
 echo $key ="<a href='".$url."'>TEST</a><br /><br /><br/>";
?>

1 个答案:

答案 0 :(得分:1)

使用get_post_meta()时,您只需传递false而不是true

$related = get_post_meta( $post->ID, "Featured-Blog", false );
var_dump( $related );

使用var_dump,您将能够看到变量的原始内容。无论如何,你会收到一个数组,所以你可以简单地做:

$related = get_post_meta( $post->ID, "Featured-Blog", false );
$args = array_merge( array('post__in'  => $related, $wp_query->query ) );
另一方面,

get_post_custom抓取帖子的所有自定义字段并在结尾处产生相同的结果,它只需要额外的命令来获取值。

请注意you should not be using query_posts