web関連
【wordpress】投稿に「並び順(順序)」表示と管理画面の投稿一覧にカラム追加
固定ページにある「属性」の「並び順(順序)」が投稿でも使えるらしいので詳細ページと一覧ページに表示させた時の備忘録
投稿で並び順(順序)を使えるようにする
投稿記事内に並び順(順序)を追加する為に以下のコードをfunctions.phpに書く
add_post_type_support( 'post', 'page-attributes' );
投稿詳細のサイドバーに「投稿の属性」というブロックと「並び順(順序)」が表示される
投稿一覧に並び順(順序)のカラムを追加する
以下のコードをfunctions.phpに書く
// 管理画面の投稿一覧にカラムを追加する関数
function my_attributes_column($columns) {
// 「順序」カラムの追加と並び順の変更
$columns = array(
'cb' => '<input type="checkbox" />',
'attributes' => '順序',
'title' => 'タイトル',
'date' => '日時',
'author' => '作成者',
);
return $columns;
}
// ↓「投稿」だから「post」カスタム投稿だったら替える
add_filter( 'manage_post_posts_columns', 'my_attributes_column' );
// 対象カラムに入る値を出力する関数
function my_attributes_column_content($column_name, $post_id) {
if( $column_name == 'attributes' ) {
// ↓カテゴリー情報取得して出力(ここで取得したい情報なんか変えたりする)
$attr = get_post($post_id);
$num = $attr->menu_order;
echo esc_attr($num);
}
}
// ↓「投稿」だから「post」カスタム投稿だったら替える
add_action( 'manage_post_posts_custom_column', 'my_attributes_column_content', 10, 2 );
これで投稿一覧に並び順(順序)が表示される
並び順(順序)は数値が小さいほど上位に来るみたい
投稿一覧に並び順(順序)の値で並び替えさせるソート機能は後でやる