我正在编写一个利用URL参数的插件。出于某种原因,将这些参数之一添加到我的网站主页会导致404(http://bleaney.ca/?source=asdf). 但是,将参数添加到任何其他页面不会导致404(http://bleaney.ca/work-experience-2/?source=asdf). 这个404问题是在我向Wordpress注册参数后才出现的:
add_filter(\'query_vars\', \'register_visitor_identifier_query_vars\' );
function register_visitor_identifier_query_vars( $qvars ) {
$qvars[] = \'source\';
return $qvars;
}
在404页面上,URL参数仍由此代码检测,由于某些原因,页面本身仅为404:
if (isset($wp_query->query_vars[\'source\'])) {
echo $wp_query->query_vars[\'source\'];
}
你知道是什么原因造成的吗?我该如何解决?我认为,只需将主页设置为具有更长的ULR(如工作经验链接)的解决方法就可以了,但如果可能的话,我宁愿解决这个问题,而不是解决它。
SO网友:Marc
我也有同样的问题。我发现问题是因为我将首页设置为显示首页的静态页面和帖子页面的静态页面。(在阅读设置中设置)
然而,我的帖子页面已被删除。在这种情况下,因为我们决定不再有帖子页面。URL变量试图将主页视图切换到不存在的帖子页面。
我通过更新模板来修复此问题front-page.php
(而不是页面模板)并更改了设置,使首页显示Your latest posts
.
这个解决方案对我有效,因为我不需要posts页面。