我的目标是使用pre\\u get\\u posts更改主查询,以便我只能通过附件和分配了特定标记的附件进行搜索。这些标记将使用\\u tags()显示给用户。
该逻辑已就位,因此我的附件具有标记,并使用此附件页面模板上的var\\u dump对此进行确认:http://photonew.rasdesignmedia.com/surf-kayaking-mark-woolward-a633257/
问题是,当我单击由\\u tags()输出的标记链接时,找不到帖子(http://photonew.rasdesignmedia.com/tag/surfing/). 我的修改主查询的函数当前输出查询,以便我可以看到发生了什么。标签/术语已存在,但查询无法找到帖子。
我已经测试了一个非pre\\u get\\u posts版本,它使用了2017个主题,没有定制,我仍然没有返回任何帖子。
我已经通过设置>永久链接刷新了内容。
我发现了其他几个类似主题的帖子,但大多数要么是通过永久链接重置解决的,要么是CPT。
我觉得我错过了一些显而易见的东西。
function search_attachment_post_type($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_tag) {
echo "This is a tag query. 404 Error is below the query dump.<br>";
$query->set(\'post_type\', \'attachment\');
$query->set(\'taxonomy\', \'post_tag\');
echo \'<pre>$query is set to post_type attachment and taxonomy to post_tag<br><br>\'; var_dump($query); echo \'</pre>\';
}
}
}
add_action( \'pre_get_posts\', \'search_attachment_post_type\' );