WordPressには、「投稿日」と「最終更新日」という2つの日付が、各投稿記事に記録されています。
記事内に表示される「投稿日」を「最終更新日」にしたり、検索エンジンに送る情報を「最終更新日」にしたりという情報は多く落ちていますが、
「投稿一覧」画面に「最終更新日」の項目(カラム)を表示させ、「ソート」までにはどうすればいいでしょうか。
投稿一覧に「最終更新日」の項目を追加する
投稿一覧に「最終更新日」の項目を追加し、最終更新日の昇順、降順でソートができるようにしていきます。
さて、やり方はいたってシンプルで、function.phpに以下のコードを記載するだけです。
// 最終更新日を表示させてソートもさせる —————————————–
add_filter( ‘manage_edit-post_columns’, ‘aco_last_modified_admin_column’ );
// Create the last modified column
function aco_last_modified_admin_column( $columns ) {
$columns[‘modified-last’] =__( ‘最終更新日’, ‘aco’ );
return $columns;
}
add_filter( ‘manage_edit-post_sortable_columns’, ‘aco_sortable_last_modified_column’ );
// Allow that content to be sortable by modified time information
function aco_sortable_last_modified_column( $columns ) {
$columns[‘modified-last’] = ‘modified’;
return $columns;
}
add_action( ‘manage_posts_custom_column’, ‘aco_last_modified_admin_column_content’, 10, 2 );
// Format the output
function aco_last_modified_admin_column_content( $column_name, $post_id ) {
// Do not continue if this is not the modified column
if ( ‘modified-last’ != $column_name )
return;
$modified_date = the_modified_date( ‘Y年Md日’ );
echo $modified_date;
}
外観>テーマエディター>テーマのための関数 (functions.php)
こちらは3兄弟を育てる夫婦の夫婦共同ブログが紹介してくださっているコードです。
元のコードだと最終更新した人も出すようになっていましたが、私は年月日だけわかればよかったので、一部分だけ削りました。ぜひ元サイト様も参考にされてください。
上のコードを追記することで、舌の画面のように「最終更新日」の項目を出し、昇順・降順にソートすることができるようになります。
最終更新日を表示するプラグイン
こちらで紹介する方法ではソートができませんが、投稿一覧画面で表示するカラムを、かなり楽に編集できるプラグインがあります。
それは、「Admin Columns」というプラグインです。
(WordPressのプラグインページ)
このプラグインでは、投稿一覧やその他管理ページ内のカラムを操作することができます。
最終更新日を表示させたい場合の方法は次の手順を行ってください。
1.左上のタブを投稿にする
2.+Add Columnを押下する
3.Actionsを「Last Modified」に合わせ、Save、更新する
以上のみです。
これで投稿一覧ページに、最終更新日が表示されていると思います。「Last Modified」は自由な言葉に変えて大丈夫です。
(残念ながらこの方法ではソートはできません。)
表示は次のような形になります。
「Admin Columns」は最終更新日を追加するだけでなく、カラムを好きにカスタマイズでき、投稿一覧や固定ページなども一括で管理できるため、とても便利なプラグインです。
元の機能だけでは扱いづらかったという人は、導入してもいいかもしれませんね。