为自定义字段查询创建链接

时间:2013-07-17 03:49:06

标签: wordpress

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

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

现在最后一部分:如何为这段文字创建一个链接,这个别名带来了所有帖子的列表?

我是否需要编写模板文件,或者是否可以快速重用生成类别,标记列表链接的代码?

1 个答案:

答案 0 :(得分: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);

现在,为了获得你的身份

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 );