向自定义仪表板小部件添加自定义帖子类型统计信息

时间:2011-05-18 作者:Marco

我有很多自定义帖子类型,我在我的“现在”面板中显示了它们,但它太长了,所以我想将它们分离到仪表板中的自定义小部件中。

参见以下示例:

enter image description here

因此,我的问题是如何将CPT添加到自定义仪表板小部件?

任何帮助都会很棒。

谢谢

编辑:这就是我所拥有的(我错过了什么?)

// wp_dashboard_setup is the action hook

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


// add dashboard widget
function mycustom_moviestats() {

wp_add_dashboard_widget(\'custom_movie_widget\', \'Movie Stats\',                  \'custom_dashboard_movie_list\');

}

function custom_dashboard_movie_list(){

// here is the code to add custom post types + count see below

function my_right_now() {
$num_widgets = wp_count_posts( \'widget\' );

$num = number_format_i18n( $num_widgets->publish );
$text = _n( \'Widget\', \'Widgets\', $num_widgets->publish );
if ( current_user_can( \'edit_pages\' ) ) { 
    $num = "<a href=\'edit.php?post_type=widget\'>$num</a>";
    $text = "<a href=\'edit.php?post_type=widget\'>$text</a>";
}   

echo \'<tr>\';
echo \'<td class="first b b_pages">\' . $num . \'</td>\';
echo \'<td class="t pages">\' . $text . \'</td>\';
echo \'</tr>\';
}
add_action( \'right_now_content_table_end\', \'my_right_now\' );

}

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

Lokks如果您在另一个函数中声明了一个函数,那么您的代码是错误的,请尝试以下操作:

// wp_dashboard_setup is the action hook
add_action(\'wp_dashboard_setup\', \'mycustom_moviestats\');

// add dashboard widget
function mycustom_moviestats() {
    wp_add_dashboard_widget(\'custom_movie_widget\', \'Movie Stats\',\'custom_dashboard_movie_list\');
}

function custom_dashboard_movie_list(){

    $args = array(
        \'public\' => true ,
        \'_builtin\' => false );
    $output = \'object\';
    $operator = \'and\';
    echo \'<table>\';
    //loop over all custom post types
    $post_types = get_post_types( $args , $output , $operator );
    foreach( $post_types as $post_type ) {
        $num_posts = wp_count_posts( $post_type->name );
        $num = number_format_i18n( $num_posts->publish );
        $text = _n( $post_type->labels->singular_name, $post_type->labels->name , intval( $num_posts->publish ) );
        if ( current_user_can( \'edit_posts\' ) ) {
            $num = "<a href=\'edit.php?post_type=$post_type->name\'>$num</a>";
            $text = "<a href=\'edit.php?post_type=$post_type->name\'>$text</a>";
        }
        echo \'<tr><td class="first b b-\' . $post_type->name . \'">\' . $num . \'</td>\';
        echo \'<td class="t \' . $post_type->name . \'">\' . $text . \'</td></tr>\';
    }

    //loop over all taxonomies
    $taxonomies = get_taxonomies( $args , $output , $operator ); 
    foreach( $taxonomies as $taxonomy ) {
        $num_terms  = wp_count_terms( $taxonomy->name );
        $num = number_format_i18n( $num_terms );
        $text = _n( $taxonomy->labels->singular_name, $taxonomy->labels->name , intval( $num_terms ));
        if ( current_user_can( \'manage_categories\' ) ) {
            $num = "<a href=\'edit-tags.php?taxonomy=$taxonomy->name\'>$num</a>";
            $text = "<a href=\'edit-tags.php?taxonomy=$taxonomy->name\'>$text</a>";
        }
        echo \'<tr><td class="first b b-\' . $taxonomy->name . \'">\' . $num . \'</td>\';
        echo \'<td class="t \' . $taxonomy->name . \'">\' . $text . \'</td></tr>\';
    }
    echo \'</table>\';
}

SO网友:Wyck

我想这会有用的。

// wp_dashboard_setup is the action hook

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


// add dashboard widget
function mycustom_moviestats() {


wp_add_dashboard_widget(\'custom_movie_widget\', \'widget name\', \'custom_dashboard_movie_list\');

}

function custom_dashboard_movie_list(){

// here is the code to add custom post types + count see below

}
添加自定义帖子类型+计数的代码已经得到了回答,这将使其变得混乱。可以在这里找到,

Adding Custom Post Type Counts to the Dashboard
Best Collection of Code for your functions.php file

结束

相关推荐

Why use widgets?

我对使用WordPress很陌生,我想知道使用小部件的好处是什么?看here 这听起来像是为那些不是程序员的人准备的,他们想在他们的网站上添加插件。对吗?或者小部件是否在某种程度上使站点更加健壮?