在管理仪表板中列出自定义帖子类型

时间:2018-06-22 作者:Dr.Hariri

我想在Wordpress安装中查看已注册的自定义帖子类型列表,以便快速编写针对特定自定义帖子类型的IF语句或任何其他函数。

1 个回复
最合适的回答,由SO网友:Dr.Hariri 整理而成

以下代码将所有注册的WP自定义帖子类型(仅针对管理员)列为管理员仪表板小部件。记住,如果“Wordpress自定义帖子类型”小部件被隐藏,请启用它。

默认情况下,$cpt\\u remove变量包含我不想显示的帖子类型的名称,您可以添加更多名称以保持列表简短。

Use this in your theme\'s functions.php or within a plugin:

add_action(\'wp_dashboard_setup\', \'siv_admin_listall_cpts\');

function siv_admin_listall_cpts() {

    if( current_user_can(\'manage_options\') ) {
        wp_add_dashboard_widget(
                     \'siv_list_cpts\',                        // Widget slug.
                     \'Wordpress Custom Post Types\',         // Title.
                     \'siv_show_all_cpts\' // Display function.
            );  
    }
}
add_action( \'wp_dashboard_setup\', \'siv_admin_listall_cpts\' );


// Create the function to output the contents of our Dashboard Widget.   
function siv_show_all_cpts() {
    global $wp_post_types;
    $posttypes = array_keys( $wp_post_types );

    // Remove unwanted if any
    $cpt_remove = array("attachment","nav_menu_item","customize_changeset","revision");


    foreach ( $posttypes as $post_type ) {
        if ( in_array($post_type, $cpt_remove) ) continue;
        echo \'<ul>\';
        echo \'<li>\'.$post_type.\'</li>\';
        echo \'</ul>\';
    }
}
我希望其他人能发现这一点,因为我知道,作为一个初学者,我花了很多时间试图找出不同场合的鼻涕虫。

结束

相关推荐

如何获取站点上每个页面浏览量,并将(增加的)浏览量添加到Dashboard Widget

我实际上没有任何代码,但我正在尝试获取WordPress站点上每个页面的页面视图(每次我点击刷新,页面视图的数量应该会增加)。我也希望这样,我可以将不断增加的数字输出到dashboard widget. 我可以想象有点复杂的代码,但我不知道从哪里开始。