我有一个全新安装的WordPress 3.1.2(未升级但安装新鲜),不包含任何插件。
我的谷歌搜索似乎是一个相当常见的问题,但我找不到任何解决方案。
我有自定义分类和运行的自定义帖子类型,来自我的functions.php的代码:
register_post_type( 'product', array(
'labels' => array(
'name' => __( 'Products' ),
'singular_name' => __( 'Product'),
'add_new_item' => __( 'Add New Product'),
'add_new' => __( 'Add a Product'),
'edit_item' => __( 'Edit Product'),
'new_item' => __( 'New Product'),
'view_item' => __( 'View Product'),
'search_items' => __( 'Search products' ),
'not_found' => __( 'No products found' ),
'not_found_in_trash' => __( 'No products found in Trash' )
),
'public' => true,
'supports' => array(
'title',
'editor'
),
'has_archive' => true,
'can_export' => true
));
register_taxonomy( 'product_category', 'product', array(
'hierarchical' => true,
'labels' => array(
'name' => 'Product Categories',
'singular_name' => 'Product Category',
'search_items' => __( 'Search Product Categories' ),
'all_items' => __( 'All Product Categories' ),
'parent_item' => __( 'Parent Product Category' ),
'parent_item_colon' => __( 'Parent Product Category:' ),
'edit_item' => __( 'Edit Product Category' ),
'update_item' => __( 'Update Product Category' ),
'add_new_item' => __( 'Add New Product Category' ),
'new_item_name' => __( 'New Product Category Name' ),
'menu_name' => __( 'Product Categories' ),
),
'public' => true,
'rewrite' => array(
'hierarchical' => true
)
));
问题在于,当我转到product_category
存档页面时,例如http://example.com/dairy-industry,我得到了404.我已经尝试了一些gajillion修复,包括
rewrite
代码register_taxonomy
个参数的每个组合
我的主题中也没有$ wp_rewrite-> flush_rules()。
最令人沮丧的是,在我的修复程序的不同时间,并且没有我可以识别的模式,自定义分类存档页面将再次开始工作,但常规页面将开始给我404。他们从不在同一时间工作,我无法弄清楚哪些步骤可以重复地使一个或另一个工作。这似乎是完全随机的。
为了更有趣,当自定义分类存档页面不正在工作时,其中一个(dairy-industry
)重定向到类似命名但不同的slug({{ {1}})在给我404之前发帖。
我很高兴分享任何可能有帮助的代码,只要问一下。
任何人都可以帮助我弄清楚这个令人困惑的难题吗?
答案 0 :(得分:0)
之前我遇到过一些问题。我发现如果你有一个自定义的帖子类型与你的一个页面slug同名,它可能会导致很大的问题!这可能是您需要考虑的事情。
我现在使用插件来创建自定义帖子类型,因为它内置了url结构的字段。此插件名为CMS Press。
答案 1 :(得分:0)
我遇到过这个问题,只有在从3.1升级到3.1.2之后才出现(我们跳过了3.1.1)。对于自定义帖子类型以及已应用自定义重写规则的任何位置(例如自定义Feed链接),我都会收到404响应。
我设法让这个插件运行得相当好:
http://wordpress.org/extend/plugins/wcs-custom-permalinks-hotfix/
然而,我仍然不时地将这些页面变成404' - 我怀疑添加了一个新帖子。当发生这种情况时,我可以通过转到永久链接设置页面然后点击保存来再次使用它们。
请务必检查您的htaccess规则 - 该插件的网站提供了大量信息,并推荐了针对单站点和多站点设置的htaccess规则:
http://wpcodesnippets.info/blog/wcs-custom-permalinks-hotfix.html
答案 2 :(得分:0)
当我第一次遇到永久链接的404问题时,我很疯狂。它影响了我自己的所有网站和我管理的几个网站。数百人使用了我编码的修补程序功能......然后回应用户的各种特殊情况......我们完善了你提到的插件。
原始文章在这里: http://wpcodesnippets.info/blog/how-to-fix-the-wp-3-1-custom-permalinks-bug.html
我估计这个bug已经影响了数千个WP站点。但是,官方开发者拒绝在任何后续更新中解决它。幸运的是,该插件应该永久工作。
关于你偶尔发表的新帖404,我特别好奇你是否发现了罪魁祸首。这是一件可以尝试的事情。一旦发布新帖子,请在您通常不使用的浏览器中提取您的网站...并查看是否可以从那里单击指向新帖子的链接。
当然,在WP决定解决问题之前,修改或访问永久链接结构的旧插件需要较少的mod。
无论如何,我很高兴这个插件有所帮助。
答案 3 :(得分:0)
对我来说,帮助了这个答案:word-press-permalinks-broken-fro-category-and-tags-404-error-page-not-found
只需检查您的插件,如果您有“简单标签”或“Multipage Toolkit”编辑插件,并替换:
$wp_rewrite->flush_rules();
使用:
/* $wp_rewrite->flush_rules(); */
之后,转到您的permlink页面并更新它们......两次。作为一种魅力。