自定义帖子类型和隐藏URL:使用自定义页面模板构建CPT最干净的方法是什么?

时间:2020-03-26 作者:blogob

我最近建立了一个网站,我需要让用户使用elementor编辑自定义帖子类型归档页面。所以我决定使用页面模板而不是归档页面,这样,我就可以用代码(自定义循环)和elementor(小部件)构建页面。

但在浏览完我的网站后,我发现了一些奇怪的行为。很抱歉,我有很多问题,但我认为它们都与同一主题有关:用page构建CPT的最干净方法。

1-对于我的页面模板:

http://localost/mytheme/all-lessons
例如,如果我键入一个带有我的CPT名称的url,

http://localhost/mytheme/lessons (the former CPT archive url)
我被重定向到CPT的第一个帖子

http://localost/mytheme/all-lessons/lesson-1
我没有制定任何重定向规则,所以我不明白。

对于所有自定义帖子类型,我使用相同的代码hierarchical=> falsehas_archive =>false:

$args = array(
    \'label\'               => _x(\'Formation\', \'text_domain\'),
    \'description\'         => _x(\'Formations\', \'text_domain\'),
    \'labels\'              => $labels,
    \'supports\'            => array(\'title\', \'editor\', \'thumbnail\', \'comments\', \'revisions\', \'custom-fields\'),
    \'hierarchical\'        => false,
    \'public\'              => true,
    \'show_ui\'             => true,
    \'show_in_menu\'        => true,
    \'menu_position\'       => 5,
    \'menu_icon\'           => \'dashicons-admin-home\',
    \'show_in_admin_bar\'   => true,
    \'show_in_nav_menus\'   => true,
    \'can_export\'          => true,
    \'has_archive\'         => false,
    \'exclude_from_search\' => false,
    \'publicly_queryable\'  => true,
    \'query_var\'           => true,
    \'rewrite\'             =>  array( \'slug\' => \'toutes-nos-formations\' ),
    \'capability_type\'     => \'post\',
    \'show_in_rest\'          =>\'true\'
)
奇怪的是,对于其中一个CPT,如果我键入归档页面的名称,我会看到一个404。

那么有没有办法完全禁用CPT归档页面系统,这样就没有人可以访问wordpress构建的归档页面,我就不会有这些奇怪的行为?

我有一个自定义的帖子类型,不需要单页。它们存在于后端,因为我只是在网格中,在页面模板中显示它们。

如何完全隐藏这些单页url?因为我不想让用户看到那些根本没有样式的页面。

当我使用自定义页面时,我松开了正常的wordpress导航系统(当前菜单项),因此当我在一个CPT中时,菜单中的自定义页面不会突出显示。有没有简单的解决方案

1 个回复
SO网友:blogob

好吧,也许这不是一个明确的答案,但对于问题3:this thread 提供一个突出显示自定义帖子父菜单项的解决方案,即使使用页面模板而不是归档页面。

相关推荐