问题描述
我发现以下代码片段将显示在 「仪表板的」 一览 「窗口小工具中发布的自定义帖子类型的数量,如下所示:
有没有办法把这个 「81 摔跤手」 文本转换成一个链接到帖子类型列表。以下是代码:
add_filter( 'dashboard_glance_items', 'custom_glance_items', 10, 1 );
function custom_glance_items( $items = array() ) {
$post_types = array( 'wrestler' );
foreach( $post_types as $type ) {
if( ! post_type_exists( $type ) ) continue;
$num_posts = wp_count_posts( $type );
if( $num_posts ) {
$published = intval( $num_posts->publish );
$post_type = get_post_type_object( $type );
$text = _n( '%s ' . $post_type->labels->singular_name, '%s ' . $post_type->labels->name, $published, 'your_textdomain' );
$text = sprintf( $text, number_format_i18n( $published ) );
if ( current_user_can( $post_type->cap->edit_posts ) ) {
$items[] = sprintf( '%2$s', $type, $text ) . "n";
} else {
$items[] = sprintf( '%2$s', $type, $text ) . "n";
}
}
}
return $items;
}
最佳解决方法
这是我用来在 「一览」 窗口小工具中显示 CPT 的功能
add_action( 'dashboard_glance_items', 'cpad_at_glance_content_table_end' );
function cpad_at_glance_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='%20.%20$post_type->name%20.%20'">' . $num . ' ' . $text . '</a>';
echo '<li class="post-count ' . $post_type->name . '-count">' . $output . '</li>';
}
}
}
这使文本可点击链接。希望这可以帮助
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。