2013-07-17 41 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);