我有两个“自定义字段”分配给我的帖子。这两个“自定义字段”都具有相同的名称,但具有不同的“值”。目前,我的代码仅显示其中一个链接。我试图让它显示两者。因此,只要我添加另一个名为“精选博客”的“自定义字段”,它就会继续显示所有这些内容。
自定义字段
1)姓名:精选博客和价值: 704(704为邮政ID)
2)姓名:精选博客和价值: 699(699是postID)
代码用于显示每个帖子的链接。 (只能显示其中一个自定义字段)
输出屏幕截图
正在使用的代码
<?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();?>
现在下面是我最初尝试使用的旧代码,但最终没有使用。这个确实拉了我的两个“自定义字段”。您可以看到它显然编码不同,因为您可以看到它显示“标题”而不是帖子标题。但我只是使用此代码作为示例向您展示可以显示多个“自定义字段”,除非下面的代码有一个简单的解决方案?也许某些代码表单可以合并到我上面的工作脚本中。上面的代码和这个底部代码都非常接近我正在尝试做的事情。它似乎是一个,有另一个需要的东西。
输出屏幕截图
<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/>";
?>
答案 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
抓取帖子的所有自定义字段并在结尾处产生相同的结果,它只需要额外的命令来获取值。
query_posts
。