web関連

【wordpress】投稿に「並び順(順序)」表示と管理画面の投稿一覧にカラム追加

【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 );

これで投稿一覧に並び順(順序)が表示される

並び順(順序)は数値が小さいほど上位に来るみたい
投稿一覧に並び順(順序)の値で並び替えさせるソート機能は後でやる

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。

CAPTCHA