查询作者的帖子&以作者ID为元值的帖子

时间:2012-10-24 作者:ifdion

我正试图在author.php 使用其他请求参数的模板。

例如,我希望使用如下请求将john的ID作为meta值的帖子

http://localhost:8888/twitgreen/author/john/?eco=somemetakey
到目前为止,我可以使用new WP_query 作者。像这样的php

if ( get_query_var(\'paged\') ) {
    $paged = get_query_var(\'paged\');
} elseif ( get_query_var(\'page\') ) {
    $paged = get_query_var(\'page\');
} else {
    $paged = 1;
}

if($_GET[\'eco\']==\'somemetakey\'){
    $lot = array(
        \'meta_query\' => array(
            array(
                \'key\' => \'somemetakey\',
                \'value\' => $current_view->ID
            )
        ),
        \'post_type\'=>\'lot\',
        \'paged\'=>$paged ,
    );
}

$wp_query = new WP_Query($lot);

//and some loop here

<nav id="nav-below">
    <div class="nav-previous"><?php next_posts_link( __( \'<span class="meta-nav">&larr;</span> Older posts\', \'clonecell\' ) ); ?></div>
    <div class="nav-next"><?php previous_posts_link( __( \'Newer posts <span class="meta-nav">&rarr;</span>\', \'clonecell\' ) ); ?></div>
</nav><!-- #nav-below -->
但不幸的是,它在接下来的几页中不起作用。URL,http://localhost:8888/twitgreen/author/verifikator/page/2/?eco=somemetakey 指向404页。

The Question

<如何查询作者ID作为作者元值的帖子。php
2 个回复
最合适的回答,由SO网友:ifdion 整理而成

Alternative approach to answer the problem

到目前为止,我还没有找到任何方法来做到这一点。最好为任何自定义查询创建自定义页面,而不是修改作者。php。

SO网友:Mridul Aggarwal

使用pre_get_posts 滤器

add_filter(\'pre_get_posts\', \'custom_query\');
function custom_query($query) {
    if($query->is_main_query() && $query->is_author() && $_GET[\'eco\']==\'somemetakey\') {
        $query->set(\'meta_query\', array(
            array(
                \'key\' => \'somemetakey\',
                \'value\' => $query->get(\'author\')
            )
        ));
    }
}

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴