带有存档页面但没有详细信息页面的自定义帖子类型

时间:2012-11-11 作者:Krunal

我想有自定义的帖子类型,只有标题和存档页,但没有详细信息页。

以下是自定义帖子类型代码:

add_action( \'init\', \'register_cpt_trivia\' );

function register_cpt_trivia() {

    $labels = array( 
        \'name\' => _x( \'Trivia\', \'trivia\' ),
        \'singular_name\' => _x( \'Trivia\', \'trivia\' ),
        \'add_new\' => _x( \'Add New\', \'trivia\' ),
        \'add_new_item\' => _x( \'Add New Trivia\', \'trivia\' ),
        \'edit_item\' => _x( \'Edit Trivia\', \'trivia\' ),
        \'new_item\' => _x( \'New Trivia\', \'trivia\' ),
        \'view_item\' => _x( \'View Trivia\', \'trivia\' ),
        \'search_items\' => _x( \'Search Trivia\', \'trivia\' ),
        \'not_found\' => _x( \'No trivia found\', \'trivia\' ),
        \'not_found_in_trash\' => _x( \'No trivia found in Trash\', \'trivia\' ),
        \'parent_item_colon\' => _x( \'Parent Trivia:\', \'trivia\' ),
        \'menu_name\' => _x( \'Trivia\', \'trivia\' ),
    );

    $args = array( 
        \'labels\' => $labels,
        \'hierarchical\' => false,
        \'description\' => \'Few line text with no detail pages.\',
        \'supports\' => array( \'title\' ),

        \'public\' => false,
        \'show_ui\' => true,
        \'show_in_menu\' => true,
        \'menu_position\' => 20,

        \'show_in_nav_menus\' => false,
        \'publicly_queryable\' => true,
        \'exclude_from_search\' => true,
        \'has_archive\' => true,

        \'can_export\' => true,
        \'rewrite\' => true,
        \'capability_type\' => \'post\'
    );

    register_post_type( \'trivia\', $args );
}

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

您不能只禁用单个页面,但可以使其看起来好像不存在一样。我建议

1) 确保站点上没有指向单个页面的链接

2) 在主题中创建一个文件“single trivia.php”,内容如下<?php include \'404.php\';?>

3) 使用template_redirecttemplate_include 钩子将模板更改为404(如果是单个琐事页面)

4) 使用post_row_actions 钩子从管理面板中删除视图链接

结束

相关推荐

显示Archives.php中的所有自定义帖子类型

我该怎么做?archive.php 只有以下内容:wp_get_archives(\'type=monthly\'); 以及wp_get_archives() 没有显示所有帖子类型的参数。我也认为archive-[post_type].php 不是我要找的,因为我希望所有帖子类型都显示在一个归档页面中。谢谢W