修改循环以显示仅用于活动/打开的后Wordpress的自定义字段

时间:2013-01-09 00:35:48

标签: php loops wordpress-plugin wordpress

我需要修改此代码,以显示仅针对用户当前所在帖子的自定义字段。

// 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。

非常感谢!

1 个答案:

答案 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>');
}
?>