我有一个URL如下的网站:site.com/folder/page-name
它正在移动到另一个内置wordpress的网站,我正在尝试重新创建页面,以确保传入的链接继续正常工作。
这些帖子被组织成不同的自定义帖子类型,但本质上它们将从同一页面显示,因此我创建了一个名为old_content.php
我想用它来显示来自传入链接的内容。
我已经在wordpress中使用old_content.php
作为模板。当我加载时site.com/folder/
, 我可以正确地看到old_content.php
文件
在里面old_content.php
, 我会的wp_query
使用第三个url段的页面数据,例如。site.com/folder/my-page-name
. 只要我加上my-page-name
, 它是404的。
如何阻止404\'ing,以便查询数据库并显示内容?
最合适的回答,由SO网友:Tom J Nowell 整理而成
添加自定义帖子类型时,WordPress不知道需要重新生成其永久链接/重写规则。
访问永久链接设置页面刷新并重新生成链接,您的自定义帖子类型永久链接将开始工作,否则您将收到404条消息。
A word of warning: 有些人会建议你打电话flush_rewrite_rules
在初始化挂钩上。虽然这会起作用,但它也会大大降低您的网站速度,并导致其他不可预测的问题。
更改帖子类型URL可以使用register\\u post\\u type中的rewrite参数完成:
http://codex.wordpress.org/Function_Reference/register_post_type#Arguments
rewrite (布尔或数组)(可选)触发此帖子类型的重写处理。要防止重写,请设置为false。默认值:true,并使用$post\\U类型作为slug$args数组
string自定义permastruct slug。默认为$post\\U类型值。应该是可翻译的
\'with\\u front=>应在permastruct前面加上前基座。(例如:如果permalink结构是/blog/,那么链接将是:false->/news/,true->/blog/news/)。如果为该帖子类型构建feed permastruct,则默认为true。默认值为has\\u archive value\'pages\'=>应该为permastruct提供分页功能。从3.4开始,默认值为true“ep\\U掩码”=>const为此帖子类型分配端点掩码。有关更多信息,请参阅Trac Ticket 19275,这是WordPress插件端点摘要- 如果未指定并且设置了permalink\\u epmask,则从
permalink_epmask
如果未指定且未设置permalink\\u epmask,则默认为EP_PERMALINK
例如。
\'rewrite\' => array( \'slug\' => \'freetips\' ),