将自定义发布类型创建为页面

时间:2016-05-17 作者:Александр

我需要保存旧网站的URL,在我使用的管理wordpress中的选项permalink中

/blog/%category%/%postname%.html
我这样做是为了写博客。But i don\'t need to get it for CPT

我已经创建了CPT

function uslugi_init() {
    $args = array(
      \'label\' => \'Услуги\',
        \'public\' => true,
        \'show_ui\' => true,
        \'capability_type\' => \'page\',
        \'hierarchical\' => false,
        \'rewrite\' => array(\'slug\' => \'uslugi-i-czenyi\'),
        \'query_var\' => true,
        \'menu_icon\' => \'dashicons-video-alt\',
        \'supports\' => array(
            \'title\',
            \'editor\',
            \'excerpt\',
            \'trackbacks\',
            \'custom-fields\',
            \'comments\',
            \'revisions\',
            \'thumbnail\',
            \'author\',
            \'page-attributes\',)
        );
    register_post_type( \'uslugi\', $args );
}
add_action( \'init\', \'uslugi_init\' );
但我有一个大问题-我的CPT url是

site.com/blog/uslugi-i-czenyi/test

但我需要

site.com/uslugi-i-czenyi/test

此外,我需要从页面获取模板。。。

它可以修复吗?

How to separate CPT url from blog permalink?

请帮帮我!

3 个回复
SO网友:stoi2m1

您可以为自定义帖子类型创建自定义模板。一般我用单曲。php文件并复制它。然后我将其重命名为single-{custom post type}。php根据Post Type Templates. 在您的示例中,模板文件应该类似于这个uslugi。php。

至于保存旧的URL和修复东西,我不太明白你在找什么。在我能够提供解决方案之前,需要更多关于该问题的信息。

SO网友:Nefro

应该有用

\'with_front\' => false,
\'with_front\' => bool应将permalink结构与前基座连接在一起。(例如:如果permalink结构是/blog/,那么链接将是:false->/news/,true->/blog/news/)。默认为true

function uslugi_init() {
$args = array(
  \'label\' => \'Услуги\',
    \'public\' => true,
    \'show_ui\' => true,
    \'capability_type\' => \'page\',
    \'hierarchical\' => false,
    \'rewrite\' => array(\'with_front\' => false, \'slug\' => \'uslugi-i-czenyi\'),
    \'query_var\' => true,
    \'menu_icon\' => \'dashicons-video-alt\',
    \'supports\' => array(
        \'title\',
        \'editor\',
        \'excerpt\',
        \'trackbacks\',
        \'custom-fields\',
        \'comments\',
        \'revisions\',
        \'thumbnail\',
        \'author\',
        \'page-attributes\',)
    );
register_post_type( \'uslugi\', $args );
}
add_action( \'init\', \'uslugi_init\' );

SO网友:Александр

所以我找到了一个解决方案。

“with\\u front”=>应该在permalink结构前面加上前基座。(例如:如果permalink结构是/blog/,那么链接将是:false->/news/,true->/blog/news/)。默认为true

  \'rewrite\' => array(\'slug\' => \'uslugi-i-czenyi\',\'with_front\' => false),
希望帮助某人

相关推荐

Altered Media Library URLs

我有一个客户的网站,是在他们离开另一家代理机构后我找到的。该机构使用了一个专有主题和自己的自托管页面生成器,以防止其在除他们之外的任何其他托管环境中更新或编辑。它的另一个方面是重新映射主题的URL并上载目录。因此,例如,代替WP在中查找主题文件http://domain.com/wp-content/themes/…. 它在里面找他们http://domain.com/t/….同样,对于图像上载,也可以在http://domain.com/wp-content/uploads/…, 它在里面找他们http