はじめに
SWELLではアーカイブページの横にハイフンで囲まれる形でサブタイトルが付きます。
下記の画像でいえば、-WEB制作-という箇所です。
通常の投稿タイプであればあまり問題ないのですが、タームで絞ったアーカイブページではここが-tax-と表示されて、初めて見る人だと「tax…税?」となってしまいます。
そこで今回は-◯◯◯◯-の部分を任意の文字列に変更する方法を紹介します。
変更方法
まずは前提としてSWELLの子テーマを用意してください。
親テーマを書き換えるとテーマのアップデートが掛かったときに変更内容がリセットされてしまうので、このようなカスタムをするときは子テーマが必須です。
子テーマはSWELL ChildやSWELL PLUSがあるので、好きなものをダウンロードするか、自作で作ってください。
まずはSWELL本体のテーマをVSCodeなどで開いてtaxが出力される処理を探します。
今回は出力される文字列が分かっているので、VSCodeの検索欄に‘tax’と打ち込んで対象のファイルを絞っていきます。
ある程度PHPを読んで理解できるなら、Get.phpが対象ファイルであることはすぐに分かります。
ではGet.phpのファイルの中身を見てみましょう。
419行目付近に$data['type'] = 'tax';
という記述があるはずです。
この部分がタームアーカイブでのtaxを指定しています。
では続けて、子テーマで本題の書き換えといきます。
私の場合はfunctions.phpに記述する内容はfncフォルダ内に個別でファイルを作って管理していますが、functions.phpに直書きでも大丈夫です。
ここでは同じファイル名としてget.phpというファイルを新規作成して使っています。
get_artchive_data()
はswell_get_archive_data
という名前でフックがあったので、カスタムした関数をadd_filter()で実行します。
<?php
/**
* /classes/Utility/Get.php内のget_archive_data()について一部変更
*/
function get_archive_data__custom( $data ) {
// is_tax() の条件でタクソノミーアーカイブをカスタマイズ
if ( is_tax() ) {
// ここでカスタムタクソノミーのタイトルやタイプを変更
$data['title'] = single_term_title( '', false );
$data['type'] = 'category'; // タイプを 'tax' から 'category' に変更
}
// 他の条件分岐も同様にカスタマイズ可能
return $data;
}
add_filter( 'swell_get_archive_data', 'get_archive_data__custom' );
元のget_archive_data()の後で処理を実行するので、内容はシンプルにif ( is_tax() )で条件分岐しているだけです。
今回はcategoryとしましたが、試しに他の文字列にしても良いです。
また、この条件分岐やif文内部での処理を書き換えればタームやタクソノミー単位で出力内容を変えることもできるので、是非試してみてください!
WEB制作 -WEB制作-はおかしいから自分のサイトも変更しないとですね(汗
コメント