2013-07-04 120 views
0

我想要一個作者在頁面的帖子列表。我用作者的帖子在每個頁面都是動態的。我使用下面的代碼。WordPress的帖子按作者查詢

<ul> 
<?php 
global $post; 
$args = array('posts_per_page' => 3, 'post_type'=> 'post', 'author_name' => 'ppm'); 
$myposts = get_posts($args); 
foreach($myposts as $post) : setup_postdata($post); ?> 

    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 

<?php endforeach; ?> 
</ul> 

請看看author_name數組,我希望後期顯示ppm用戶。現在我要做的是動態的。我想從頁面的自定義字段獲取作者姓名。像

<?php $author_name = get_post_meta($post->ID, 'author_name', true); ?> 
<ul> 
<?php 
global $post; 
$args = array('posts_per_page' => 3, 'post_type'=> 'post', 'author_name' => '$author_name'); 
$myposts = get_posts($args); 
foreach($myposts as $post) : setup_postdata($post); ?> 

    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 

<?php endforeach; ?> 
</ul> 

但是,代碼不起作用。我如何從頁面的自定義字段獲取作者姓名?誰能幫忙?

對不起英語不好。

+0

您無法在循環外獲得'$ post-> ID'。 – bboy

+0

看到代碼http://wordpress.stackexchange.com/questions/36135/how-can-i-list-posts-by-author謝謝, –

+0

我在循環內嘗試,仍然無法正常工作。 –

回答

1

這對我有用。感謝薩里姆汗爲這個解決方案。

<ul> 
<?php 
global $post; 
$author_name = get_post_meta($post->ID, 'author_name', true); 
$args = array('posts_per_page' => 3, 'post_type'=> 'post', 'author_name' => $author_name); 
$myposts = get_posts($args); 
foreach($myposts as $post) : setup_postdata($post); ?> 

    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 

<?php endforeach; ?> 
</ul> 
0
<?php while (have_posts()) : the_post(); ?> 
<?php $author_name = get_post_meta($post->ID, 'author_name', true); ?> 
<?php endwhile; ?> 


<?php 
     $args = array('posts_per_page' => 3, 'post_type'=> 'post','meta_key'=>'author_name','meta_value'=>$author_name); 
     query_posts($args); 
?> 

<ul> 
<?php while (have_posts()) : the_post(); ?> 
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 
<?php endwhile; ?> 
</ul>