自定义帖子类型和固定链接:真是一团糟!

时间:2011-04-27 作者:Studiomambo

我知道这是自定义帖子类型的一个常见问题,但我被困在那里了。我创建了一个名为“cpt\\u soins”的自定义帖子类型。我没有类似名称的页面(单数/复数)。。。

我试过了\'rewrite\' => array(\'slug\' => \'nos-soins-et-services\');

当我注册自定义帖子类型以显示比“/?cpt\\u soins=soins-visage-a-la-rose”更漂亮的url时。。。但我遇到了404错误。

我想要这个丑陋的永久链接:http://localhost:8888/wordpress/?cpt_soins=soins-visage-a-la-rose“-->转化为:”http://localhost:8888/wordpress/nos-soins et服务/soins-visage-a-la-rose”

我知道我可以使用“add\\u rewrite\\u rule()with regex”。但我没有开始工作。你能告诉我函数的代码吗。php来获取我的永久链接?

非常感谢

5 个回复
SO网友:Chris_O

更改此项:

\'rewrite\' => array(\'slug\' => \'nos-soins-et-services\');

对此:

\'rewrite\' => array(\'slug\' => \'nos-soins-et-services\', \'with_front\' => true);

SO网友:scribu

更改“rewrite”参数后,需要刷新重写规则。这可以通过访问WP Admin->Settings->Permalinks轻松完成。

SO网友:Studiomambo

我知道了!我使用插件“自定义帖子类型UI”来注册我的自定义帖子类型。我被permalinks的问题绊住了,所以我决定不用插件手动重做所有事情。所以我从codex中获取代码来注册我的自定义pot类型和分类法。我创建一个页面模板来显示我的自定义帖子类型,在我的自定义帖子类型下创建一些文章,等等。现在,一切都很有魅力(我的分类法和文章中的类别将我的自定义帖子类型放在了一边,最重要的是:漂亮的永久链接)。

我离开了\'rewrite\' => true. 没什么可做的了。。。不要为permalinks而烦恼。只是为了好玩\'rewrite\' => array(\'slug\' => \'my-word-for-my-permalink\'), It works as well !

不要忘记手动刷新permalinks,并在函数中的注册函数中刷新cpt(至少一次)。php。。。

有人对插件“自定义帖子类型UI”有类似的问题吗?您使用哪个插件创建/管理自定义帖子类型?

谢谢大家,祝你自定义帖子类型愉快!:-)

SO网友:Shahrukh Khan

您的漂亮URL不起作用,因为您尚未引入该行\'rewrite\' => false,args声明自定义帖子类型时使用数组。

使用此代码解决您的问题。。。。希望这对你有用

//This function is to register the archive page of post type
function add_rewrite_rules($aRules) {
$aNewRules = array(\'nos-soins-et-services/?$\' => \'index.php?post_type=cpt_soins\');
$aRules = $aNewRules + $aRules;
return $aRules;
}
add_filter(\'rewrite_rules_array\', \'add_rewrite_rules\');

//This function is to set your Custom URL Structure and replace it with default structure
function rewrite_flush(){
  global $wp_rewrite;
  $cpt_soins_structure = \'nos-soins-et-services/%cpt_soins%\';
    $wp_rewrite->add_rewrite_tag("%cpt_soins%", \'([^/]+)\', "cpt_soins=");
    $wp_rewrite->add_permastruct(\'cpt_soins\', $cpt_soins_structure, false);
  $wp_rewrite->flush_rules();
}
add_action(\'init\',\'rewrite_flush\'

SO网友:Milo

看起来您正在使用默认的permalink设置。您需要使用mod\\u rewrite启用URL重写,以获得“漂亮的”永久链接。阅读法典permlinks page 了解更多信息。

结束

相关推荐

curl problem or permalinks

我刚刚配置了我的VPS,我使用的是Centos,一切都很好,但如果我将永久链接设置为自定义结构,然后接受主页,没有帖子出现,它会显示404页,我想这是因为我没有启用curl,但我不知道我的php在哪里。我的centos中的ini文件?好的,我的卷曲被启用了,我检查过了phpinfo(); 这里是URLhttp://74.117.158.182/info.php但如果我在我的wordpress中设置了永久链接,那么接受主页,所有都会给我404页,你可以在这个URL上查看http://mbas.co.in如果