因此,我刚刚将一个网站更新为3.1版本,该版本使用了多种自定义帖子类型。
当我创建网站时,我当时没有注意到$post_type
的参数register_post_type
必须使用所有小写字母!(抄本上写得不好,但现在写得很好bold).http://codex.wordpress.org/Function_Reference/register_post_type#Parameters
我的自定义邮件类型是用国会大厦的信件注册的,例如“Rentals”,而不是“Rentals”。这在3.1中是固定的,因此任何用大写字母注册的帖子在后端和前端都被完全破坏了。
由于wordpress上的一篇帖子,我能够返回到函数并将其更改为小写,然后调用另一个函数以在数据库启动之前用新名称更新数据库。dennis\\u f组织。
此处为新函数
if(!get_option(\'custom_type_updated\')){
global $wpdb;
$wpdb->query("UPDATE $wpdb->posts SET post_type = \'custom-rental\' WHERE post_type = \'Custom-Rental\'");
update_option(\'custom_type_updated\',\'true\');
}
这是用小写字母重新写的寄存器
// Custom page template for rentals -----------------
function Rental_register_post_type() {
register_post_type( \'custom-rental\', array(
\'public\' => true,
\'can_export\' => true,
\'has_archive\' => \'Rentals\',
\'rewrite\' => true,
\'supports\' => array(
** bunch of supports stuff
),
\'labels\' => array(
**bunch of labels
)
)
);
}
add_action( \'init\', \'Rental_register_post_type\', 0 );
这确实解决了自定义帖子类型中断的主要问题,但问题是现在使用的自定义permalink结构中断了自定义帖子类型“rentals”,只有默认的才起作用。
例如www.example。com/?定制出租=7间卧室很好,但没有定制的permalink结构,我尝试了每种类型,并清除了。htaccess,只返回404。
有什么想法吗?