今回は【Category Order and Taxonomy Terms Order】というカテゴリの順番を並べ替えできるようにするためのプラグインをご紹介します!
こちらインストール時にはFTP認証を行う必要があるのですがAWSでWordpressを使っている方に対して回避方法を合わせてご紹介していこうと思います!
背景
現在制作中のWebサイトにて、一覧上に表示されるカテゴリの順番を並べ替えたいとの要望がありました。
一番見せたいカテゴリの順に表示したいそうです。
しかし現在TCDで販売しているfalconというテーマを利用して制作を進めており、こちらのテーマはカテゴリの順番を差し替える機能がありませんでした。 (カテゴリ並び替えの機能はデフォルトではないけど、かっこいいのでお勧めです!)
そのため、どうにかして順番を変更必要がありました。
何も手を加えない状態ですとID順でsortをかけているのでカテゴリを追加した順で表示されます。
IDを入れ替えるという手段もありますが、それは通常は危険なのでやりたくありません。(リレーションがあったりすると一気に壊れるので)
そこで色々調べていたら「Category Order and Taxonomy Terms Order」というプラグインがあることを知りました。
インストールから使い方まで
それではこちらのプラグインをインストールしていこうと思います。
いざインストールしようとしたら、いきなりFTP認証情報の入力を求められます。
制作はAWSでデモサイトを構築して実施しており、AWSはSSH認証でFTP認証情報自体がありません。
そのためAWSでWordpressを使ってこのようにFTP認証情報を求められる場合の対処法も交えて紹介していきます。
AWS環境化にてFTP認証情報を入力せずに突破する方法について
まずはテーマ内にあるfunctions.php開いて末尾に以下のコードを追加します。
function set_fs_method($args) { return 'direct'; } add_filter('filesystem_method','set_fs_method');
追加を終えたら「Category Order and Taxonomy Terms Order」をインストールしてみましょう!
もしかしたらパーミッションの関係でインストールに失敗するかもしれません。
そうすると以下のようなエラーメッセージが表示されます。
これはWebサーバー(Apache)がworpdressに書き込みできる権限がないために起きます。
私もfunctions.phpに追加するだけではインストールできず、wp-contentsのパーミッション権限を変更することでインストールが出来ました。
なので以下のコマンドで書き込み権限を付与します。
$ sudo chmod -R 775 wp-content
もし上記の権限変更で上手くいかない場合はグループの設定等見直してみてください。
私の環境では以下のようにしています。
これでインストールが完了しました!
管理画面の左側のメニューから「投稿」項目のメニューを開くと「Taxonomy Order」というのが追加されているかと思います!
この項目を選択してください。
開いた画面からドラッグ&ドロップで項目を並べることによりOrderingできます。
プラグインを入れずに順番を変更したい場合について
phpMyAdminなどのDBクライアントを使用して「wp-terms」テーブルの「term_order」カラムに数値を入力して番号付けしてあげれば若い順に表示されるようになります。
降順にしたい場合はテンプレートとかにパラメータを追加してあげる必要があるかなと思います。
最後に
カテゴリを並べ替えたいという要望は頻繁にありそうな気がしています。
そうした場合は一度プラグインを調べてみると便利なものが出てくるかと思います!
是非皆さんもカテゴリの並び替えに悩んでいる場合はこちらのプラグインを使ってみてください!
また、私は基本TCDテーマを使ってますが無料でも使えるテーマがありますので是非気になる方はダウンロードしてみてください!