^ 回到顶部
  • 人生没有定律,每个人都有自己的节奏
  • 若文中代码有问题,可能是少了几个问号,留言一定会解决!
  • 希望你的坚持,都是因为热爱,而不是因为不甘心
  • 站点文章结尾新增了赞赏通道
  • 那些不愿意让你吃亏的人,才是真正值得你深交的人,也是值得你付出时间的人

WordPress后台文章和页面列表添加自定义列

有的时候我们需要直观的知道文章或者页面的 id 是多少,也就是在文章和页面列表添加文章 id 的自定义列,下面的代码就很有用了:

/**********文章***********/  
    add_filter('manage_posts_columns', 'add_new_posts_columns');   
    function add_new_posts_columns($book_columns) {   
           
        $new_columns['cb'] = '<input type="checkbox" />';   
        $new_columns['id'] = __('ID');   
        $new_columns['title'] = _x( 'Title', 'column name' );   
        $new_columns['author'] = __('Author');   
        $new_columns['categories'] = __('Categories');   
        $new_columns['tags'] = __('Tags');   
        $new_columns['date'] = _x('Date', 'column name');   
        return $new_columns;   
    }   
    add_action('manage_posts_custom_column', 'manage_posts_columns', 10, 2);   
    function manage_posts_columns($column_name, $id) {   
        global $wpdb;   
        switch ($column_name) {   
        case 'id':   
            echo $id;   
            break;   
        default:   
            break;   
        }   
    }   
    /**************页面************/  
    add_filter('manage_pages_columns', 'add_new_pages_columns');   
    function add_new_pages_columns($book_columns) {   
           
        $new_columns['cb'] = '<input type="checkbox" />';   
        $new_columns['id'] = __('ID');   
        $new_columns['title'] = _x( 'Title', 'column name' );   
        $new_columns['author'] = __('Author');   
        $new_columns['date'] = _x('Date', 'column name');   
        return $new_columns;   
    }   
    add_action('manage_pages_custom_column', 'manage_pages_columns', 10, 2);   
    function manage_pages_columns($column_name, $id) {   
        global $wpdb;   
        switch ($column_name) {   
        case 'id':   
            echo $id;   
            break;   
        default:   
            break;   
        }   
    }

效果如下:

WordPress 后台页面列表:

WordPress 后台文章和页面列表添加自定义列

WordPress 后台文章列表:

WordPress 后台文章和页面列表添加自定义列

当然了,如果只是分享这个,就不是我陌小雨的风格了,陌小雨想带给大家的是一种思路:比如下面这些

WordPress 后台文章和页面列表添加自定义列

到这里,我知道你想说什么了,什么也不说了,上图吧,^_^

WordPress 后台文章和页面列表添加自定义列

2016-7-8 日更新:

用陌小雨上面分享的代码,id 是显示在最左侧的,宽度也没法自定义,好处是你可以增加自定义字段的列,可操作性强。如果你觉得难看的话,可以使用下面的代码,可以让 WordPress 后台显示文章 id、分类目录 id、链接分类 ID 等。

//代码来源于: Show IDs by 99 Robots 插件
    // Hooks + Filters
    add_action( 'admin_head', array('WPSiteShowIDs', 'add_css'));
    // For Post Management
    add_filter( 'manage_posts_columns', array('WPSiteShowIDs', 'add_column') );
    add_action( 'manage_posts_custom_column', array('WPSiteShowIDs', 'add_value'), 10, 2 );
    // For Page Management
    add_filter( 'manage_pages_columns', array('WPSiteShowIDs', 'add_column') );
    add_action( 'manage_pages_custom_column', array('WPSiteShowIDs', 'add_value'), 10, 2 );
    // For Media Management
    add_filter( 'manage_media_columns', array('WPSiteShowIDs', 'add_column') );
    add_action( 'manage_media_custom_column', array('WPSiteShowIDs', 'add_value'), 10, 2 );
    // For Link Management
    add_filter( 'manage_link-manager_columns', array('WPSiteShowIDs', 'add_column') );
    add_action( 'manage_link_custom_column', array('WPSiteShowIDs', 'add_value'), 10, 2 );
    // For Link_Category Management
    add_action( 'manage_edit-link_category_columns', array('WPSiteShowIDs', 'add_column') );
    add_filter( 'manage_link_category_custom_column', array('WPSiteShowIDs', 'add_return_value'), 10, 3 );
    // For Category Management
    add_action( 'manage_edit-link-categories_columns', array('WPSiteShowIDs', 'add_column') );
    add_filter( 'manage_link_categories_custom_column', array('WPSiteShowIDs', 'add_return_value'), 10, 3 );
    // For User Management
    add_action( 'manage_users_columns', array('WPSiteShowIDs', 'add_column') );
    add_filter( 'manage_users_custom_column', array('WPSiteShowIDs', 'add_return_value'), 10, 3 );
    // For Comment Management
    add_action( 'manage_edit-comments_columns', array('WPSiteShowIDs', 'add_column') );
    add_action( 'manage_comments_custom_column', array('WPSiteShowIDs', 'add_value'), 10, 2 );
    add_action('admin_init', array('WPSiteShowIDs', 'custom_objects'));
    class WPSiteShowIDs {
        static function custom_objects() {
            // For Custom Taxonomies
            foreach ( get_taxonomies(array('public'   => true), 'names') as $custom_taxonomy ) {
                if (isset($custom_taxonomy)) {
                    add_action("manage_edit-" . $custom_taxonomy . "_columns", array('WPSiteShowIDs', 'add_column'));
                    add_filter("manage_" . $custom_taxonomy . "_custom_column", array('WPSiteShowIDs', 'add_return_value'), 10, 3);
                }
            }
            // For Custom Post Types
            foreach (get_post_types(array('public'   => true ), 'names') as $post_type) {
                if (isset($post_type)) {
                    add_action("manage_edit-". $post_type . "_columns", array('WPSiteShowIDs', 'add_column'));
                    add_filter("manage_". $post_type . "_custom_column", array('WPSiteShowIDs', 'add_return_value'), 10, 3);
                }
            }
        }
        static function add_css() {
            ?>
            <style type="text/css">
                #wpsite-show-ids {
                    width: 50px;
                }
            </style>
            <?php
        }
        static function add_column($cols) {
            $cols['wpsite-show-ids'] = 'ID';
            return $cols;
        }
        static function add_value($column_name, $id) {
            if ( $column_name == 'wpsite-show-ids' ) {
                echo $id;
            }
        }
        static function add_return_value($value, $column_name, $id) {
            if ( $column_name == 'wpsite-show-ids' ) {
                $value = $id;
            }
            return $value;
        }
    }

 

历史上的今天:
让小雨知道,这篇文章帮到了你

展开阅读全文

评论 3

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 龙笑天
    居然直说一半........回复

登录

忘记密码 ?

切换登录

注册