wp_dropdown_categoriesのoptionタグのvalue値をカテゴリーIDからslugに変更する方法

ふー。今週の業務も今日で終わりです。
今は職場の昼休み時間。昼食後このエントリーを書きかけています。帰宅した後で仕上げようかな・・・

というわけで、今回のエントリーもWordPress関係です。
カテゴリーの一覧をselectタグで出力してくれる関数「wp_dropdown_categories」のカスタマイズです。

この関数ですが、以下のように普通に使うと、下のようなタグが出力されます。

ここで出力されるvalue属性のデータは標準ではカテゴリーIDとなります。このvalue値をカテゴリーIDからそのカテゴリーのslugに変更するのが今回紹介するカスタマイズです。

↓こんな感じにしたいのですよ。

valueの値がカテゴリーのslugになっています。

それでは具体的な方法について説明します。

【注意】
このカスタマイズはWordPressのシステムのファイルを変更するものです。作業を行う前に編集対象のファイルのバックアップを取ることをお勧めします。またこのカスタマイズを行った後でWordPressの自動アップデートなどをすると、正常に動作しなくなる可能性があります。

さて、ここで編集するファイルは、

「wp-includes/category-template.php」

というファイルです。
このファイルの958行目以降にある関数「start_el」が変更対象のソースコードです。
標準では↓のようになっています。

このコードを以下のように修正します。

コメントアウトした部分がカスタマイズ前のコードです。
ハイライトされている6行目と9行目がカスタマイズのコードです。

このようにすることで、optionタグ内のvalue値にカテゴリーslugを出力することができます。

まだあまり詳しく見ていないのですが、どうやらcategory-template.phpに書かれている、wp_dropdown_categories関係のクラスをoverrideする方法だと、functions.php内での追加記述で同じカスタマイズができるような気がします。このカスタマイズについてはもうちょっと調査を続けてみることにします。


この記事をかいた人

ドレッド Webクリエイター

WordPressの構築やjQueryによる動的サイトの実装が得意なWebクリエイターです。このブログではWeb制作で役に立ちそうな知識から、プライベートの出来事まで幅広いネタを取り扱っております。ご質問、ご要望はお問合せフォームからどうぞ! お仕事のご依頼はコレカラウェブへ! 2016年10月から放送大学に入学(選科履修生)

WordPress | Posted on 2013/11/15 19:30

※コメントは管理人の承認後に公開されます。

コメントを残す

メールアドレスが公開されることはありません。