テーマURLとサイトアドレスをショートコードにする(コンタクトフォームにも対応)

未分類

今回紹介するのは、こんなときに便利なカスタマイズです。

  • テスト環境、ローカル環境で構築している
  • URLを変更する予定、可能性がある
  • 後日常時SSL化する予定がある
  • 画像などをftpでテーマの下層にアップロードして使用したい
  • 他のサイトでも同じ内容を使い回す予定がある

私はローカルで構築しているので、テーマURLとサイトアドレスのショートコードは毎回必ず使用しています。
クライアント都合で何があるか分かりませんから、後々の作業を簡単にするためにもこれは必須だと思っています。

ショートコードってなに?

ショートコードは、WordPress投稿画面で使用できるコードの呼び出し機能です。
予めfunctions.phpに記述をしておいて、それを投稿ページや固定ページで簡単に呼び出すことができます。

前提として

ブロックエディタ(Gutenberg)は使用せず、プラグイン「Classic Editor」をインストールして、テキストエディタを使用しています。
私にはほんと使いづらいです、ブロックエディタ。全然慣れませんでした。
プラグイン画面のトップにClassic Editorが出てくるので、コードを書ける人は使いづらさを感じてる人が多いということでしょうか。
Gutenbergは今後も使用する予定はありません。

テーマURLをショートコードにする

では早速書いていきます。

functions.php内の記述↓

// テーマをショートコード
add_shortcode('theme', 'shortcode_theme');
function shortcode_theme() {
  return get_template_directory_uri();
}

投稿画面での記述↓
今回はimages/common/logo.pngを表示させます。

<img src="[theme]/images/common/logo.png" alt="" />

これが実際のソースでは下記になって表示されます。
 https://***.comはWordpressアドレス(Wordpressを置いてあるURL)、themenameはテーマ名です。

<img src="https://***.com/wp-content/themes/themename/images/common/logo.png" alt="" />

サイトアドレス(TOPページ)をショートコードにする

次は、TOPページへのショートコードの書き方です。

functions.php内の記述↓

// TOPをショートコード
add_shortcode('hurl', 'shortcode_hurl');
function shortcode_hurl() {
return home_url( '/' );
}

投稿画面での記述↓

<a href="[hurl]company/">会社概要</a>

これが実際のソースでは下記になって表示されます。
 http://***.comはサイトアドレス(TOPページに設定しているURL)です。

<a href="http://***.com/company/"></a>

contactform7内でもショートコードを使用する

このままでは、contactform7内では使用できません。
よく使うサイトアドレスのショートコードの方を改変します。「利用規約に同意する」などのリンクで使用できます。

contactform7内で使用するには、先程のコードに下記を追加します。

wpcf7_add_shortcode('hurl', 'shortcode_hurl');

先程のコードと合わせるとこうなります。

// TOPをショートコード
add_shortcode('hurl', 'shortcode_hurl');
wpcf7_add_shortcode('hurl', 'shortcode_hurl');
function shortcode_hurl() {
  return home_url( '/' );
}

これでcontactform7内でも使用できるようになりました。

コメント

タイトルとURLをコピーしました