如何向仪表板边栏添加“帖子类别”

时间:2016-05-28 作者:AdamMcquiff

我目前正在与一家公司合作,为他们的WordPress网站制作一些基本的tweek,我注意到他们的边栏上有这样的内容:

enter image description here

我特别关注“客户”、“优惠”、“公文包”和“Slider优惠”部分,我以前从未见过这些内容,我相信它们没有添加插件。它们似乎是帖子类别,因为它们与“帖子”部分具有相同的pin图标。有人能解释一下这些是什么,它们是如何工作的,以及如何添加它们吗?

谢谢

2 个回复
最合适的回答,由SO网友:Mayeenul Islam 整理而成

WordPress核心帖子类型为postpage 在管理菜单中可见。除此之外,还可以是注册的自定义帖子类型或菜单页。

菜单页可以添加add_menu_page() 函数,可以使用register_post_type(), 其中,注册的post类型获取其自己的菜单项,其中包含以下参数true:

<?php
$args = array(
        \'show_ui\'   => true,
        \'show_in_menu\' => true
    );

register_post_type( \'mycpt\', $args );
请注意,register_post_type() 是一个插件领域函数。但有些主题将其纳入functions.php. 在这种情况下,也有可能父主题不包含它们,但子主题在其functions.php. :)

SO网友:Chirag S Modi

我相信这是wordpress的自定义帖子类型。自定义帖子类型的工作方式与帖子的工作方式相同,您可以为每个帖子类型创建不同的类别,还可以创建不同的存档和单个页面。如果你想在这方面做更多的实验,我将发布一个帖子类型代码示例。您只需将此代码复制并传递到函数中。php的主题,或者你可以把它放在不同的。php文件,您可以require_once 在功能中。像我这样的php文件require_once(\'custom-post-type/team.php\'); 我总是创建自定义帖子类型的不同文件夹,然后将所有帖子类型文件放在那里,并将其要求放在函数文件中。

<?php
/* Custom Post Type ===> team_member */
add_action( \'init\', \'register_cpt_team_member\' );
function register_cpt_team_member() {
$labels = array( 
    \'name\' => _x( \'Team Member\', \'team_member\' ),
    \'singular_name\' => _x( \'Team Member\', \'team_member\' ),
    \'add_new\' => _x( \'Add New\', \'team_member\' ),
    \'add_new_item\' => _x( \'Add New Team Member\', \'team_member\' ),
    \'edit_item\' => _x( \'Edit Team Member\', \'team_member\' ),
    \'new_item\' => _x( \'New Team Member\', \'team_member\' ),
    \'view_item\' => _x( \'View Team Member\', \'team_member\' ),
    \'search_items\' => _x( \'Search Team Member\', \'team_member\' ),
    \'not_found\' => _x( \'No Team Member found\', \'team_member\' ),
    \'not_found_in_trash\' => _x( \'No Team Member found in Trash\', \'team_member\' ),
    \'menu_name\' => _x( \'Team Member\', \'team_member\' ),
);
$args = array( 
    \'labels\' => $labels,
    \'hierarchical\' => false,       
    \'supports\' => array( \'title\', \'editor\', \'author\', \'thumbnail\', \'custom-fields\', \'revisions\', \'page-attributes\' ),
    //\'taxonomies\' => array(\'post_tag\'),
    \'public\' => true,
    \'show_ui\' => true,
    \'show_in_menu\' => true, 
    \'menu_icon\' => \'dashicons-admin-users\',     
    \'show_in_nav_menus\' => true,
    \'publicly_queryable\' => true,
    \'exclude_from_search\' => false,
    \'has_archive\' => true,
    \'query_var\' => true,
    \'can_export\' => true,
    \'rewrite\' => array(\'slug\' => \'team_member\'),
    \'capability_type\' => \'post\'
);
register_post_type( \'team_member\', $args );
flush_rewrite_rules(); // <- do this only once!
}
?>
如果你想知道更多关于自定义帖子类型的详细信息,请参阅wordpress codex。https://codex.wordpress.org/Post_Types