WordPressの管理画面の投稿一覧画面には、ソート機能を持った「日付」と言う項目があります。

この「日付」ですが、普通は公開日と公開済みか予約済みかの情報が表示されてします。また、この投稿一覧画面は、初期状態では公開日の降順となっています。

スクリーンショット_100819_044017_PM

また、記事内には、「公開日」と「最終更新日」が表示されています。今、本ブログでは最終更新日(なければ公開日)のみ表示されるようにカスタマイズしていますが。

記事数も増えてきて、過去の記事に追記したり、修正したりした場合、この最終更新日を投稿一覧画面に表示して、さらに最終更新日の降順なんかで表示出来たらいい感じ、などと考えた次第です。

完成イメージは、こんな感じです。

スクリーンショット_100819_044139_PM

投稿一覧画面に最終更新日を表示して、ソート機能を追加する方法

色々調べたところ、投稿一覧画面に最終更新日を表示するだけだったら、プラグインを入れるだけで大丈夫のようです。

ただし、そのプラグインにはソート機能がないようですので、ここでは無視します。

プラグイン以外の方法としては、WordPressカスタマイズの定番「functions.php」を編集すると言う方法です。

スポンサーリンク

「functions.php」を編集と解説

投稿一覧画面に最終更新日を表示して、ソート機能を追加する方法は、「functions.php」に以下のコードを追加します。

//---------------------------------------------------------------------------
//	投稿一覧にソート機能を持った更新日を追加する
//---------------------------------------------------------------------------

//最終更新日を更新日という項目として追加する
function last_modified_column( $columns ) {
	$columns['modified-last'] =__( '更新日');
	return $columns;
}
add_filter( 'manage_edit-post_columns', 'last_modified_column' );

//ソート可能な項目とする
function sortable_last_modified_column( $columns ) {
	$columns['modified-last'] = 'modified';
	return $columns;
}
add_filter( 'manage_edit-post_sortable_columns', 'sortable_last_modified_column' );

//更新日の表示書式を決定する
function last_modified_column_content( $column_name, $post_id ) {
	if ( 'modified-last' != $column_name )
	return;

	$modified_date = the_modified_date( 'Y/n/d H:i' );
	echo $modified_date;
}
add_action( 'manage_posts_custom_column', 'last_modified_column_content', 10, 2 );

p>ちなみに、投稿一覧画面には、更新日と言う名前で項目を追加して、画像のようにシンプルに年月日と時刻の表示のみとしています。

最後に

最後に書いちゃいましたが、「functions.php」等を編集する場合、バックアップなどはしっかりととった上で、子テーマの中で作業するようにしましょう。

ちなみに、子テーマの作成は、こちらをご参照下さい。

初心者向けWordPressテーマカスタマイズのための、子テーマについて (CSS編)