我是使用自定义帖子类型还是其他什么?

时间:2015-10-02 作者:andrw22

我想在我的主页中添加一个“新闻”部分,并希望它成为我管理左侧面板中的链接,这样我就可以通过单击“添加文章”并提供标题、发布日期、发布徽标、外部URL和文章片段来动态添加文章。

最初,我想创建一个自定义的帖子类型“News”,这将赋予我这种能力。但是,这些文章只打算显示在主页上,当用户单击图像时,它们会将用户带到外部来源。这些文章不会有自己的页面/帖子。

话虽如此,定制帖子类型是最好的方法,还是有更好的方法?

2 个回复
SO网友:vancoder

定制帖子似乎完全合适——事实上,没有合乎逻辑的选择。

SO网友:Nate Allen

是的,是自定义帖子类型和自定义字段的组合。由于从技术上讲,每个帖子都是一个外部资源,因此您需要为URL设置一个自定义字段。

“Headline”将是标题,“Publication date”可以是发布日期,或者自定义字段“Publication logo”可以是特色图像,“snippet”将放在内容(编辑器)框中这是创建自定义发布类型的代码:

function register_news_cpt() {

    $labels = array(
        \'name\'                => \'News\', 
        \'singular_name\'       =>\'News\',
        \'menu_name\'           =>\'News\',
        \'name_admin_bar\'      =>\'News\',
        \'parent_item_colon\'   =>\'Parent News Item:\',
        \'all_items\'           =>\'All News\',
        \'add_new_item\'        =>\'Add New Item\',
        \'add_new\'             =>\'Add New\',
        \'new_item\'            =>\'New Item\',
        \'edit_item\'           =>\'Edit Item\',
        \'update_item\'         =>\'Update Item\',
        \'view_item\'           =>\'View Item\',
        \'search_items\'        =>\'Search News\',
        \'not_found\'           =>\'Not found\',
        \'not_found_in_trash\'  =>\'Not found in Trash\',
    );
    $args = array(
        \'label\'               =>\'News\',
        \'description\'         =>\'News\',
        \'labels\'              => $labels,
        \'supports\'            => array( \'title\', \'editor\', \'custom-fields\', ),
        \'taxonomies\'          => array( \'category\', \'post_tag\' ),
        \'hierarchical\'        => false,
        \'public\'              => true,
        \'show_ui\'             => true,
        \'show_in_menu\'        => true,
        \'menu_position\'       => 5,
        \'menu_icon\'           => \'dashicons-media-document\',
        \'show_in_admin_bar\'   => true,
        \'show_in_nav_menus\'   => true,
        \'can_export\'          => true,
        \'has_archive\'         => false,     
        \'exclude_from_search\' => true,
        \'publicly_queryable\'  => true,
        \'capability_type\'     => \'page\',
    );
    register_post_type( \'news\', $args );

}
add_action( \'init\', \'register_news_cpt\', 0 );