使用できる2つのソリューションを次に示します。
解決策 #1: TabPress プラグイン
グラフィカル パネルを使用して、テーブルを完全にカスタマイズできます。独自の CSS を設定できます。colspan、rowspan、またはすべて一緒に使用できます。デモをご覧ください。コーディングにあまり時間をかけたくない場合は、試してみてください。
解決策 #2: WP_List_Table
WordPress 3.1 以降で利用できます。WP 3.1 はそれを使用して、管理パネルに表示されるテーブルを作成します。たとえば、投稿を表示するテーブルは、このクラスを使用します。ただし、並べ替え、一括操作などの一部の機能を無効にすることができます。
これは、私のブログの 1 つから取られたサンプル コードです。並べ替えオプションなしで統計の表を表示したかったのです。ff_show_stats()
PHP コードから呼び出してテーブルを表示します。
if( ! class_exists( 'WP_List_Table' ) ) {
require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
}
class FFStatsTable extends WP_List_Table {
function __construct(){
}
function get_columns(){
$columns = array(
'id' => 'ID',
'creation' => 'Creation',
'country' => 'Country'
// Add as much column as you want
// 'column_name_in_query' => 'Displayed column name'
);
return $columns;
}
function column_default( $item, $column_name ) {
switch( $column_name ) {
case 'id':
case 'creation':
case 'country':
return $item[ $column_name ];
default:
return print_r( $item, true ) ; //Show the whole array for debugging purposes
}
}
function prepare_items() {
global $wpdb;
$columns = $this->get_columns();
$hidden = array();
$sortable = array();//Empty array for disabling sorting
$this->_column_headers = array($columns, $hidden, $sortable);
$this->items = $wpdb->get_results(
"SELECT id,creation,country FROM wp_my_table WHERE my_condtion=TRUE",
ARRAY_A
);
}
}
function ff_show_stats() {
$myListTable = new FFStatsTable();
echo '<div class="wrap"><h2>Stats</h2>';
$myListTable->prepare_items();
$myListTable->display();
echo '</div>';
}
ここでより詳細なサンプルコードを入手できます: http://plugins.svn.wordpress.org/custom-list-table-example/tags/1.2/list-table-example.php