affinger6

WordPress

WordPressテーマACTIONでロゴの画像をhttpsにする方法

2022年4月8日

ACTIONはWordPressテーマ「AFFINGER6」の総称です。

http移行をした時に気付いたのですが、このテーマで使用するロゴ画像がhttpになってしまうので、これを対処する方法を記述しておきます。

1か2のどちらかだけ対応しておけば十分です。

その1テンプレートのカスタマイズ

タイトルロゴはget_option( 'st_logo_image' )で取得しているので、テンプレートを触るのであればこの部分を修正すると対応可能です。

テーマファイルエディターから、編集するテーマを選択:AFFINGERを選択します。

この中のst-header-logo.phpがベーシックなロゴ表示のソースです。

6行目でロゴ画像を取得しているので、その下にhttpだったらhttpsに書き換える条件判定式を追加してあげます。

$site_logo = st_header_logo();

//非SSL URLを表示前にSSL化する
if(strpos($site_logo, "http")===0){
    $site_logo = str_replace('http://', 'https://', $site_logo);
}

st-header-logo-img.phpも条件により表示されるので、行数は違いますがこちらも直しておきましょう。

その2データベースの更新

そもそもの問題はDBに値を登録する際に、httpで入力されてしまっている事です。

なのでDBを直接更新することで、根本的な解決になります。

WordPressがインストールされているDBにアクセスし、以下のテーブルとカラムを見つけます。

テーブル wp_options
カラム option_name st_logo_imageと言う名前の値がサイトロゴで利用されているキー値
カラム option_value urlが登録されている

option_nameカラムの値が、st_logo_imageのものがタイトルロゴで使用している項目なので、これで検索を行うと、にoption_valueの方に登録されているURLがあり、これがhttpで登録されています。

このoption_valueの値をhttpsに書き換え保存すれば対応完了です。

  • この記事を書いた人

九十九史恩

キーを叩いていないときは、都会や田舎の風景を探検しています。

よく読まれている記事

条件の0=0は全てが正であるを意味するSQL 1

SQLの条件に0=0のような記述を見かけます。 変わった書き方の条件ですが、これは「全てが正である」事を意味しており、結合条件の場合はCROSS JOINと同じです。 下記の例で言えば、結合するsub ...

DISTINCTを使わないで重複排除を考えるSQL 2

SQLのDISTINCTはEXISTSとかGROUP BYでなんとかする事もできます。 DISTINCTは暗黙的なソートがされますが、何のDBを使うにせよ過去のバージョンならともかく、最近のバージョン ...

RFC 5322に準拠させた正規表現言語別 3

RFC5322で定義されている正規表現を、各言語の正規表現に変化させた形になります。 完全な電子メール正規表現は存在しないので、結局のところ何かの公式基準に従っていたとしても、自分が携わるサービスのル ...

-WordPress