PRESSMAN*Tech(プレスマンテック)

東日本橋の制作・開発会社 プレスマンのスタッフブログ

Admin Columnsの便利なadd on

はじめに

Admin Columnsとは、
WordPressのプラグイン。
WordPressの管理パネルで投稿、ユーザー、コメント、メディアリストの列を管理、整理します。WordPressの管理画面を美しく見やすい概観に変換します。
Admin Columns | WordPress.org
有料版もあります。
Admin Columns Pro – Manage columns in WordPress

独自カラムを作成するadd onの作成について

githubで公開されているので、
使い方について少し説明しようと思います。
(自分の備忘録として、とっておく感じ)
codepress/ac-column-template: Admin Columns – Column Template

ac-column-COLUMN_NAME.php


class AC_Column_COLUMN_NAME extends AC_Column {
    public function __construct() {
        // Identifier, pick an unique name. Single word, no spaces. Underscores allowed.
        //Admin Columnsの設定画面で[Type]表示される項目名
        $this->set_type( 'column-COLUMN_NAME' );
        // Default column label.
        //Admin Columnsの設定画面で[Label]表示される項目名
        $this->set_label( __( 'COLUMN_LABEL', 'ac-COLUMN_NAME' ) );
    }
    /**
     * Returns the display value for the column.
     * レコード毎の対象カラムに表示させる値
     *
     * @param int $id ID
     * @return string Value
     */    public function get_value( $post_id ) {
        // get raw value
        $value = $this->get_raw_value( $post_id );
        // optionally you can change the display of the value. In this example we added a post link.
        $value = '' . $value . '';
        return $value;
    }
    /**
     * Get the raw, underlying value for the column
     * Not suitable for direct display, use get_value() for that
     * This value will be used by 'inline-edit' and get_value().
     * レコード毎の対象カラムに実際に表示される値
     *
     * @param int $id ID
     * @return mixed Value
     */    public function get_raw_value( $post_id ) {
        // put all the column logic here to retrieve the value you need
        // For example: $value = get_post_meta( $post_id, '_my_custom_field_example', true );
        $value = 'something';
        return $value;
    }
}

ac-COLUMN_NAME.php


/*
Plugin Name:    Admin Columns - COLUMN_LABEL
Plugin URI:     PLUGIN_URL
Description:    DESCRIPTION
Version:        1.0
Author:         AUTHOR_NAME
Author URI:     AUTHOR_URL
License:        GPLv2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
*/// 1. Set text domain
/* @link https://codex.wordpress.org/Function_Reference/load_plugin_textdomain */load_plugin_textdomain( 'ac-COLUMN_NAME', false, plugin_dir_path( __FILE__ ) . '/languages/' );
// 2. Register the column.
add_action( 'ac/column_types', 'ac_register_column_COLUMN_NAME' );
function ac_register_column_COLUMN_NAME( AC_ListScreen $list_screen ) {
    // Use the type: 'post', 'user', 'comment' or 'media'.
    if ( 'post' === $list_screen->get_group() ) {
        require_once plugin_dir_path( __FILE__ ) . 'ac-column-COLUMN_NAME.php';
        //ac-column-COLUMN_NAME.phpで定義したクラスを呼び出す
        $list_screen->register_column_type( new AC_Column_COLUMN_NAME );
    }
}

上記で設定すると下記の感じになる。

設定画面は、__construct()で設定した項目が表示されます。


一覧画面では、get_value()、get_raw_value()で設定した値が表示されます。
正直、get_raw_value()はいらないです。

さいごに

簡単に表示カラムを追加できる紹介でした。
独自カラムにソート機能とかも付け加えられるので、
また次の機会に。

この記事をシェアする:
投稿者:pm-tsutsui

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

▲ 先頭へ戻る