对于某些页面/帖子,如何绕过404?

时间:2013-03-19 作者:BillyMedia

我有一个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,以便查询数据库并显示内容?

1 个回复
最合适的回答,由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\' ),
      

  • 结束

    相关推荐

    在参数之后关闭WP_LINK_PAGES DIV ID

    在下面的代码中,我需要关闭使用创建的div“link\\u wrap”$args[\'before\'] = \'<div id=\"link_wrap\">\';当我尝试粘贴时$args[\'after\'] = \'</div>\'; 以上return $args; 它添加了适当的结束div,但也呈现了我代码的其余部分,这使得上一个/下一个链接和分页都完全无用。如何在保持其余代码功能的同时正确关闭div?// WP_LINK_PAGES: Add prev and next l