2021.06.23WordPressではテンプレートタグを使って色々な要素を出力できますがデフォルトで付与されるクラス名をサイトに合わせて変更したい場合もあるかと思います。(私はBEMによる命名規則に合わせたいときに変更したくなりました。)今回はwp_list_categories()で出力されるカテゴリーリストのクラス名をPHPで変更します。置換する置換後の文字列(HTML)を書き出す。wp_list_categories()によるカテゴリー一覧の基本形カテゴリーのリストを表示する関数の使い方まずはカスタマイズの元となるカテゴリーリストです。次のように記述すると基本的なカテゴリーのリストが出力されます。</ul></li>デフォルトでは全体が1つの<li>に内包される形で出力されるため、使用する際はHTMLの構造に注意してください。カテゴリーに階層がある場合は入れ子で表示されます。それぞれの要素には自動的にクラス名が付与されます。パラメータ設定値は配列で指定するwp_list_categories()で指定可能なパラメータは設定値を配列にしたものを引数とすることで有効になりますが、クラス名を変更可能なオプションはありません。wp_list_categories()今回は自動的に付与された<li>のクラス名cat-itemと<ul>のクラス名childrenを書き換えていきたいと思います。クラス名の書き換えを行う大まかな流れ出力されるHTMLを一つの文字列としてまとめる。その中の該当する箇所をPHPで置換。置換後の文字列(HTML)を書き出す。出力されるHTMLを一つの文字列としてまとめるwp_list_categories()のパラメータを配列にして指定します。class="categories">カテゴリーの部分が無くなります。5行目:ここではまだ出力しないので0を指定します。7行目:wp_list_categories()にパラメータの配列を渡したものを変数$categoriesに代入します。これで書き換え前のHTMLソースが入った変数$categoriesが用意できました。置換する本来出力されるHTMLが入っている$categoriesを9~11行目で次のように書き換えています。cat-list-child9行目:置換したい文字列を配列で指定します。"cat-itemのように直前のダブルクォーテーションも含めて指定することでcat-item-1の部分は当てはまらず、目的の箇所以外は置換されないようにします。10行目:置換後の文字列を配列で指定します。置換前の配列に順序を合わせる必要があります。11行目:前述の配列をstr_replace()のパラメータとして実行します。$categoriesに含まれる$cat_serchを$cat_replaceに置換するという形式になります。置換後の文字列(HTML)を書き出す。13行目:書き換えたものを表示します。目当てのクラス名が正しく書き換えられていれば完成です。ウェブ倉庫.メニューホームウェブ制作ホビーお問い合わせホーム検索トップサイドバータイトルとURLをコピーしました。