2013-07-17 42 views
-1

我的所有帖子都有一個自定義字段created_by_alias,我基本上使用該值代替使用的作者。我已經定製了入門元函數來顯示在純文本這個值,我也學會了構建查詢:爲自定義字段查詢創建鏈接

$query = new WP_Query(array('meta_key' => 'created_by_alias', 
         'meta_value' => 'somevalue')); 

現在到了最後一部分:如何創建一個鏈接,這一段文字,說帶來這個別名的所有帖子的列表?

我是否需要編寫一個模板文件,或者是否有快速的方法來重用任何生成鏈接到類別的代碼,標籤列表?

+2

你寫的查詢是什麼?給我們一個輸出例子,因爲我不明白問題到底是什麼。 – 2013-07-17 04:01:58

+0

你想要的東西是:'??php query_posts('meta_key = created_by_alias&meta_value = somevalue'); ?> <?php if(have_posts()):?> <?php while(have_posts()):echo get_permalink(); ?> ' – 2013-07-17 04:07:14

+0

上述應該爲您提供這些帖子的永久鏈接列表,如果所有文章都正常工作。顯然我沒有辦法測試。 – 2013-07-17 04:10:39

回答

0

不知道你在找什麼,但在我看來,要顯示一個鏈接到一個特定網頁的作者的帖子,如果是的話,那麼你可以使用(使用查詢)

$query = new WP_Query(array('meta_key'=>'created_by_alias', 'meta_value'=>'somevalue')); 

如果$query返回結果和你有id那麼你可以使用

echo get_author_posts_url($query->posts[0]->ID); // the `ID` from first row 

或者多行,可以循環像

if ($query->have_posts()) { 
while ($query->have_posts()) { 
     echo get_author_posts_url(get_the_ID()) . '<br />'; 
    } 
} 

點擊此鏈接後,將檢索帖子並根據您的頁面層次顯示,如果未找到作者模板,則最終將使用inedx.php

另外,如果你需要一個自定義模板,並希望查詢

$posts = get_posts(array($ID); 

現在,獲得ID您的使用

get_user_by($field, $value); // 'id', 'slug', 'email', or 'login' 

因此,用戶如果有login name,例如admin那麼你可以使用

$id = get_user_by('login', 'admin')->ID; // php 5+ 
// or 
$user = get_user_by('login', 'admin'); 
$id = $user->ID; 

然後獲取鏈接並回顯它,whe無論你想要

echo get_author_posts_url($id);