WordPressのURLをショートコードにしておくと後々便利。

WordPressの開発をテスト環境で行っていたりすると、本番に反映する際にURLが変更になりますね。当然ですが。
DBの置換でもOKなのですが、小規模であれば「開発環境のURLをベタ書きしないようにする」という選択肢も。

つまり、一般設定の「サイトアドレス (URL)」を変更するだけで、全ての変更が反映されるわけですね。

PHPファイルにURLを記述する場合

テンプレートファイルにURLを記述する際は

<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/sample.jpg" alt="">

のようにしておけば、URLが変わっても記述を変更する必要がないというわけです。

投稿・固定ページにURLを記述する場合

では、PHPの書けない投稿や固定ページの中ではどうすればよいのか。
ショートコードにしておけばいいというわけです。

/* functions.php に記述 */
add_shortcode('url', 'shortcode_url');
function shortcode_url() {
return get_bloginfo('url');
}
add_shortcode('tdir', 'tmp_dir');
function tmp_dir() {
return get_template_directory_uri();
}
add_shortcode('cdir', 'child_dir');
function child_dir() {
return get_stylesheet_directory_uri();
}

としておくと、
[url]・・・ページ内リンクの記述に利用
[tdir]・・・テーマファイル(親テーマ)内の画像を参照する時に利用
[cdir]・・・テーマファイル(子テーマ)内の画像を参照する時に利用
という形で利用することができます。

<img src="[cdir]/images/sample.jpg" alt="">

となりますね。

まとめ

開発の時は画像をテーマファイルに入れて参照した方が便利ですよね。
WordPressを始めたばっかのときなんていちいちメディアにアップロードしてましたからね。。。

場合によってはこんな方法もオススメです。

コメントを残す

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

スパム対策にご協力ください *

コメントの前にご確認ください。なにか不具合などあればtwitterまでご連絡ください

  • 具体的なエラー画面などがある場合は添付してください。(1ファイルの上限は2メガバイト・3枚までUP可能です。)
  • メールアドレス等の入力も必須ではありませんので入力の必要はありません。お気軽にどうぞ。(冷やかしは止めてね!)
  • コメントや返信があっても通知は届きませんのでご注意下さい。
  • 忙しい時はレスが遅れることもあります。
  • 実作業は行いません。ご依頼の場合はお問い合わせからお願い致します。
  • コメントの回答による一切の不利益および損害に関し、責任を取ることはできません。(実作業をご依頼いただいた場合は別です。)