我需要修改此代码,以显示仅针对用户当前所在帖子的自定义字段。
// this needs to be modified
<?php
global $post;
$args = array('category' => 37, 'post_type' => 'post' );
$postslist = get_posts( $args );
foreach ($postslist as $post) : setup_postdata($post);
?>
// end this needs to be modified
<?php if( get_post_meta($post->ID, "Title", true) ): ?>
<?php echo get_post_meta($post->ID, "Title", true); ?></p>
<?php endif; ?>
因为这将包含在内,所以我不能只使用get_post_meta。
非常感谢!
答案 0 :(得分:1)
这会忽略循环并仅显示当前页面的自定义字段,请注意get_the_ID():
<?php if( get_post_meta(get_the_ID(), "Title", true) ): ?>
<p><?php echo get_post_meta(get_the_ID(), "Title", true); ?></p>
<?php endif; ?>
<?php
global $post;
$args = array('category' => 37, 'post_type' => 'post' );
$postslist = get_posts( $args );
foreach ($postslist as $post){
setup_postdata($post);
}
?>
这将从循环中输出名为“Title”的所有自定义字段:
<?php
global $post;
$args = array('category' => 37, 'post_type' => 'post' );
$postslist = get_posts( $args );
foreach ($postslist as $post){
setup_postdata($post);
echo('<p>'.get_post_meta($post->ID, "Title", true).'</p>');
}
?>