2021.06.05
【テーマ作成】自作テーマを使い回す場合に気を付けるポイント 「site_url()とhome_url」
自作のワードプレス・テーマを他のサイトで使用しようとしたら一部画像がリンク切れになり、調べたら使用しようとしたサイトが「wpフォルダ」のサブフォルダにインストールしたワードプレスサイトだったためでした。
※altやtitleなどの属性は見やすいように外しています。
<a href="<?php echo esc_url(home_url()); ?>/">
<img src="<?php echo esc_url(home_url()); ?>/wp-content/uploads/site_icon.jpg">
</a>
上記コードに「/wp」を付加させれば利用できるんですが、いちいち設定するのも邪魔臭いんですよね。
<a href="<?php echo esc_url(home_url()); ?>/">
<img src="<?php echo esc_url(home_url()); ?>/wp/wp-content/uploads/site_icon.jpg">
</a>
そこでなんかいい方法ないかと調べたらhome_url()をsite_url()に変更すればいいことに気付きました。
site_url()とはテンプレートタグのhome_url()はサイトのホームページを表示するためのアドレスなんですが、site_url()はWordPressがインストールされている場所を示すアドレスです。インストールアドレスが異なっていなければ同じアドレスになります。
site url() WordPress Codec日本語版
<a href="<?php echo esc_url(home_url()); ?>/">
<img src="<?php echo esc_url(site_url()); ?>/wp-content/uploads/site_icon.jpg">
</a>
これで余計な設定をせずにテーマを使い回せるようになりました。