-1

我所有的帖子都有一个自定义字段created_by_alias,我基本上使用该值来代替使用作者的任何位置。我已经自定义了 entry-meta 函数来以纯文本形式显示这个值,我还学会了构建一个查询:

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

现在是最后一部分:如何为这段文本创建一个链接,以列出该别名的所有帖子?

我是否需要编写模板文件,或者是否有一种快速的方法可以重用任何生成指向类别、标签列表的链接的代码?

4

1 回答 1

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;

然后获取链接并在任何你想要的地方回显它

echo get_author_posts_url( $id );
于 2013-07-17T06:16:58.193 回答