如何添加显示页面或帖子字数的额外管理栏目?

时间:2017-08-23 作者:glvr

对于列出帖子(编辑帖子)和页面(编辑页面)的“查看所有”屏幕,我如何添加一个额外的管理列,其中包含单个帖子/页面的字数?

之前使用过“admin columns”插件,并且知道了其他选项,我想知道是否有更简单的过滤器/函数?

1 个回复
最合适的回答,由SO网友:Anton Lukin 整理而成

这其实并不难。使用2个挂钩可以管理帖子列表中的列:manage_posts_columns, manage_posts_custom_column

add_filter(\'manage_posts_columns\', \'wordcount_column\');
function wordcount_column($columns) {
    $columns[\'wordcount\'] = \'Word count\';
    return $columns;
}

add_action(\'manage_posts_custom_column\',  \'show_wordcount\');
function show_wordcount($name) 
{
    global $post;
    switch ($name) 
    {
        case \'wordcount\':
            $wordcount = YOUR_WORD_COUNT_VALUE
            echo $wordcount;
    }
}
然后,您只需要在save\\u post到post\\u meta并在列中显示计数后计算单词数。

add_action(\'save_post\', function($post_id, $post, $update) {
    $word_count = str_word_count( strip_tags( strip_shortcodes($post->post_content) ) );

    update_post_meta($post_id, \'_wordcount\', $word_count);
}, 10, 3);
相关的gist

另一种方法是计算单词数量。

function post_word_count($post_id) {
    $content = get_post_field( \'post_content\', $post_id );
    $word_count = str_word_count( strip_tags( strip_shortcodes($content) ) );
    return $word_count;
}
相关的gist

但我建议只计算一次单词save_post 钩请注意,最好将其保存在post\\u meta中,从underscore

例如:_wordcount

结束

相关推荐

Wrong wp-admin URL

我刚安装了一个WordPress站点,并在一个反向代理后面配置了该站点的URL-http://example.com/hello问题我可以访问admin dashboard页面,但由于链接变为http://example.com/wp-admin 而不是http://example.com/hello/wp-admin. 我怎样才能摆脱这种奇怪的行为?可能有帮助的详细信息</我确信WordPress地址(URL)和站点地址(URL)配置为http://example.com/hello, 我甚至检查