プラグイン

WordPressの記事投稿時にカテゴリーを並び替えられなくする2つの方法

2017.08.27

ラジオ、ボタン

WordPressは記事作成時に選択したカテゴリーが記事投稿画面で勝手に並び変えられてしまいます。選択するまではツリー状に並んでいますが、選択後記事を保存してしまうとソートされてしまいますのでカテゴリーの親子関係が非常にわかりずらくなります。

並び替えられる例

プラグインAdjust Admin Categoriesで解決

投稿時のカテゴリーの振る舞いはAdjust Admin Categoriesで色々解決できてしまいます。サイトの運営方法にもよりますが、複数のカテゴリーを選択して欲しくない場合、カテゴリーの選択を必須にしたい場合、親カテゴリーを選択して欲しくない場合にも使えます。コンテンツSEOやロングテールSEO的には複数のカテゴリーを選択しないほうが効果的だと考えます。1記事1テーマですからね。

Adjust Admin Categoriesで出来ること

Adjust Admin Categoriesで出来ることは以下の通り、カスタム投稿タイプにも対応していますので、カテゴリー周りはバッチリです。

  • チェックボックスの並べ替えを停止する
  • チェックボックスをラジオボタンに変更できる
  • 親カテゴリーを選択できなくする
  • カテゴリーの選択を必須にできる

Adjust Admin Categoriesの使い方

プラグイン>新規追加>Adjust Admin Categoriesで検索>今すぐインストール>有効化で使えるようになります。インストールは設定>Adjust Categoriesから設定できます。複数の投稿タイプを設定する場合はひとつずつ変更を保存する必要があります。

設定画面

設定するとカテゴリーの振る舞いが変わります。

ラジオボタンになった

Adjust Admin Categoriesで出来ないこと

Adjust Admin Categoriesの唯一残念なところは初期状態でカテゴリーの選択が出来ないところです。個人的には必要ないのですがクライアントレベルでは要望として上がることもあります。

プラグインを使わずに並び変えを停止

プラグインを使わずに並び替えを停止するには以下のコードをfunctions.phpに記述します。

function cat_sort_none( $args, $post_id ){
    $args['checked_ontop'] = false;
    return $args;
}
add_filter( 'wp_terms_checklist_args', 'cat_sort_none' , 10, 2 );

カテゴリーを並べ替えられなくする方法は以上のようにプラグインを使う方法かfunctions.phpに直接コードを記述するかの2通りの方法があります。その他の問題の解決方法もだいたいこの2択です。

チェックボックスをラジオボタンに変更する

Adjust Admin Categoriesを使わない場合は他のプラグインを使うか管理画面のチェックボックスをjQueryでラジオボタンに置き換えると実現可能です。プラグインが使える状況ならAdjust Admin Categoriesでいいと思うのですが、せっかくなのでAdjust Admin Categoriesが出来ない初期状態からカテゴリーを選択できるプラグインがあるので紹介します。

PS Taxonomy Expanderで投稿カテゴリーの調整

PS Taxonomy ExpanderはWordPress高速化でおなじみKUSANAGIを開発しているPrime Strategyのプラグインです。KUSANAGIがすごいのでなんだか安心して使えます。

PS Taxonomy Expanderは設定>投稿設定から設定を行います。有効化すると管理画面のナビゲーションにTerm orderメニューが表示されます。ここからカテゴリーの並べ替えなどを行うことも可能です。しかし今回の関連で使うPS Taxonomy Expanderの機能は以下の通りです。

  • チェックボックスをラジオボタンに変更できる
  • 初期カテゴリーを選択できる

設定画面

並び替え停止はコードを記述して行い、チェックボックスをラジオボタンに変更し、初期カテゴリーを選択しておけば必須にする必要もありません。この辺の使い分けは運営に合わせて柔軟に対応するのがいいかもしれませんね。

WEBSITE DESIGN REQUEST

ホームページ制作依頼について

W・D・Sでホームページ制作をご希望の方はお気軽にご相談ください。
制作内容、ご予算、納期をお知らせいただくとスムーズです。

ホームページ制作を相談する