更新到Wordpress 3.7后出现404错误

时间:2013-10-25 07:41:20

标签: wordpress wordpress-plugin

今天早上我刚刚更新到WordPress 3.7,我开始在我的一个自定义帖子类型上收到404错误。我通过一个插件实现了多个CPT。除了一个以外,所有其他CPT都很好。

相同的代码如下:

//注册作者帖子类型

function custom_post_author() {
 $labels = array(
'name' => 'Authors',
'singular_name' => 'Author',
    'add_new' => 'Add New',
    'add_new_item' => 'Add New Author',
    'edit_item' => 'Edit Author',
    'new_item' => 'New Author',
    'all_items' => 'All Authors',
    'view_item' => 'View Author',
    'search_items' => 'Search Authors',
    'not_found' =>  'No authors found',
    'not_found_in_trash' => 'No authors found in Trash',
    'parent_item_colon' => '',
    'menu_name' => 'Authors'
  );

  $args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'show_in_menu' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'authors' ),
    'capability_type' => 'post',
    'has_archive' => true,
    'hierarchical' => false,
    'menu_position' => null,
    'menu_icon' => plugins_url( 'images/authors.png', dirname( __FILE__ )),
    'supports' => array( 'title', 'thumbnail', 'comments')
  );

  register_post_type( 'author', $args );
}
add_action( 'init', 'custom_post_author' );

CPT在后端可见,但当我查看前端的任何帖子时,它会给出404。 关于如何解决它的任何建议?

3 个答案:

答案 0 :(得分:3)

似乎WordPress 3.7并不喜欢将自定义帖子类型定义为author。将其更改为authors工作正常。但是,这也需要在wp_posts表中进行更新。

答案 1 :(得分:2)

我有一个非常类似的错误:我无法访问自定义帖子类型的任何单一页面。更新永久链接设置对我也没有帮助。我调试了一下,发现我的自定义帖子类型的重写不是在$ wp_rewrite-> rewrite_rules()数组中设置的。

我的所有自定义帖子类型都在插件中注册。然后我记得我曾在文档中读到你必须清除插件激活/停用的规则(参见http://codex.wordpress.org/Function_Reference/flush_rewrite_rules)。

所以,我修复了我的问题,将flush_rewrite_rules()添加到注册我所有自定义帖子类型的函数中,我认为它也会对你有帮助!

function register_my_custom_post_types()
{
  register_post_type( ... );

  // flush the rewrite_rules after registering the post types
  flush_rewrite_rules();
}

答案 2 :(得分:1)

我使用以下步骤解决了这个问题:

WordPress的菜单Settings->paramlinks转到paramlink页面并点击保存更改更新设置(不需要更改任何设置)(或者您可能不需要更新设置,只访问paramlinks页面就足够了),然后尝试查看自定义帖子。它会出现。