Right_Now_Content_TABLE_END函数不工作吗?

时间:2013-12-27 作者:Richard Mišenčík

我最近注意到我的自定义帖子类型的自定义计数没有显示在仪表板上。Im使用此功能:

right_now_content_table_end

它以前工作得很好,我不确定它什么时候停止工作,但我想在更新到3.8之后?

或者我是否应该在3.8中的新仪表板上使用新功能?

提前谢谢。

3 个回复
SO网友:fuxia

新操作是dashboard_glance_items. 它是一个过滤器,提供可以向其中添加项目的数组。

我的插件示例T5 Taxonomy Location

add_filter(
    \'dashboard_glance_items\',
    array ( $this, \'add_to_glance\' )
);


/**
 * Add locations to the new "At a glance" dashboard widget.
 *
 * @param  array $items
 * @return array
 */
public function add_to_glance( Array $items )
{
    $num  = wp_count_terms( $this->taxonomy );
    // Singular or Plural.
    $text = _n(
        \'%s Location\',
        \'%s Locations\',
        $num,
        \'plugin_t5_tax_location\'
    );
    // thousands separator etc.
    $text = sprintf( $text, number_format_i18n( $num ) );

    if ( current_user_can( "manage_$this->taxonomy" ) )
    {
        $url  = admin_url( "edit-tags.php?taxonomy=$this->taxonomy" );
        $text = "<a href=\'$url\'>$text</a>";
    }

    $items[] = $text;

    return $items;
}
此更改不向后兼容,而且相当脏。参见票证#26571 了解问题和可能的解决方案。

SO网友:Rarst

新的东西本质上是不同的小部件,挂钩已从核心中移除。最接近的替代品是新的dashboard_glance_items 滤器

参见trac票据:

SO网友:Viktor Kovalenko

请检查此功能。我相信这是暂时的解决办法,但对我来说很有效。可在此处找到更多信息:Add Custom Post Types and Taxonomies to At a Glance dashboard widget

add_action( \'dashboard_glance_items\', \'cor_right_now_content_table_end\' );
function cor_right_now_content_table_end() {
$args = array(
    \'public\' => true,
    \'_builtin\' => false
);
$output = \'object\';
$operator = \'and\';

$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\' ) ) {
        $output = \'<a href="edit.php?post_type=\' . $post_type->name . \'">\' . $num . \'&nbsp;\' . $text . \'</a>\';
    }
    echo \'<li class="post-count \' . $post_type->name . \'-count">\' . $output . \'</li>\';
}
$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\' ) ) {
        $output = \'<a href="edit-tags.php?taxonomy=\' . $taxonomy->name . \'">\' . $num . \'&nbsp;\' . $text . \'</a>\';
    }
    echo \'<li class="taxonomy-count \' . $taxonomy->name . \'-count">\' . $output . \'</li>\';
}
}

// Add Some CSS to "At a Glance" Widget
function custom_colors() {
echo \'<style type="text/css">
    .slides-count a:before {content:"\\f233"!important}
    .gallery-count a:before {content:"\\f163"!important}
    </style>\';
}
add_action(\'admin_head\', \'custom_colors\');

结束

相关推荐

"Widgets" menu doesn't appear

我正在开发一个WordPress主题,它在我的本地主机和一个live server上运行得很好,但在我的另一个live server上,小部件菜单(从外观)不会出现。是的,所有3台服务器都有相同的3.6.1 WordPress版本,主题文件也相同。知道这是什么原因吗?这是functions.php 注册小部件区域:if (function_exists(\'register_sidebar\')) { register_sidebar(array( \'name\' => \