自定义POST类型固定链接因3.1错误修复而中断

时间:2011-03-05 作者:Wyck

因此,我刚刚将一个网站更新为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。

有什么想法吗?

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

要避免这种情况发生,只需添加flush_rewrite_rules( false ); 在register\\u post\\u type函数之后。你可以在这里了解更多http://en.bainternet.info/2011/custom-post-type-getting-404-on-permalinks

结束

相关推荐

使用QUERY_POSTS按ID返回帖子或页面

我正在为客户构建一个自定义主页,在那里他们希望有一些可更改的框来链接到网站内的特定页面或帖子。我在主页中添加了自定义字段,这样他们只需输入页面/帖子ID,然后它就会显示正确的帖子或页面。我希望它足够灵活,他们可以发布帖子或页面。现在,我的盒子代码是<?php query_posts(\'p=\'.$topright); ?> <?php while (have_posts()) : the_post(); ?> {title and featured im