我的Wordpress网站上有两个页面:
mysite.com/?p=100
mysite.com/?p=200
我想我应该能够在某处连接到Wordpress的操作并重新查询该帖子,以便
mysite.com/?p=200
将显示在页面上
mysite.com/?p=100
根据第一个答案的反馈,我认为需要如下所示:
add_action( \'pre_get_posts\', \'wpse35832_pre_get_posts\' );
function wpse35832_pre_get_posts( $query ){
$pid = \'\';
if( ! empty( $query->query_vars[\'page_id\'] ) )
{
$pid = $query->query_vars[\'page_id\'];
}
elseif( ! empty( $query->queried_object->ID ))
{
$pid = $query->queried_object->ID;
}
if($pid == \'100\'){
$query->query_vars[\'page_id\'] = 200;
}
return $query;
}
实际上,这个函数确实有效——但有一点需要注意:如果我使用的是相当长的永久链接(
mysite.com/name-of-page/
), 该页面的标题是针对原始帖子的。然而,如果permalinks是查询变量样式,那么一切似乎都正常。
What am I doing wrong, and how can I fix it? 我试过了unset($query->queried_object
因此需要重新查询它,这样做会导致重定向回原始页面。
基本上,我希望呈现的整个网页与其他帖子完全相同,包括标题标签、帖子标题和帖子内容,因此我正在尝试尽早加入,以实现这一点。
我意识到我可以创建一个自定义页面模板,比如post-200.php
在里面使用query_posts
功能和显示内容。但这不是我想要做的。
我承认这在大多数博客上都没有实际意义,但我认为这是可能的,我希望你们能给我一些帮助。