在哪里可以找到将静态页面URL上的请求重定向到主页的代码

时间:2012-06-01 作者:N2Mystic

例如,假设我将我的“关于我们”页面(slug:About-Us)设置为主页静态页面。在这样做时,当有人请求mysite时。关于我们,WordPress很好地重定向到了主页,这样我就不会出现重复的内容,即有两个页面指向相同的内容。

我试图找到这个重定向代码出现在核心代码中的什么地方,因为我试图模拟使用粘性帖子作为主页时的相同行为。

2 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

首先,您描述的行为不是重定向,而是URL重写。

话虽如此,有一个WordPressoption 调用page_on_front 设置为用作首页的静态页面的页面ID。只有当选项show_on_front 设置为page (如果在“阅读”面板中将“首页显示”设置为“静态页”,则会发生这种情况)。

enter image description here

根据您从该广播框下方的下拉列表中选择的页面,page_on_front 已设置。

但是,您也可以通过编程方式设置选项。以下方法是untested 这只是我脑海中的一个简单想法,但应该可以简单地将此选项设置为粘性帖子的ID并使用它:

$sticky_id = // set to post ID you want to display
update_option( \'page_on_front\', $sticky_id );
另一种方法(如果第一个想法失败)可能是将首页设置为常规静态页面,为该页面分配一个自定义模板,将页面内容保留为空,并合并一个自定义循环,以获取所述页面模板中最新的粘性帖子。这应该对你有用。

SO网友:GhostToast

我相信本页将为您提供最佳信息:http://codex.wordpress.org/Class_Reference/WP_Rewrite

wp-includes/rewrite.php

结束

相关推荐

Redirect to post_id?

我正在使用一个简单的301重定向插件,我知道这需要重定向为永久链接。是否有任何方法可以重定向到post\\u id?这样我就可以移动帖子(或本例中的页面),然后就不必担心重写直接URL了。谢谢