WordPress テーマでショートコードを使用する方法

私たちは長年 WordPress テーマでショートコードを使用してきましたが、サイト構築の方法の標準的な部分となっています。

コードを複製したり、テーマファイルを管理しにくくしたりすることなく、同じ機能を複数の場所に簡単に追加する方法という、単純な問題を解決します。

ショートコードを使用すると、サイトのどこでも機能する、シンプルで再利用可能なコードスニペットを作成できます。

カスタムコンテンツを表示する場合でも、フォームを追加する場合でも、インタラクティブな要素を作成する場合でも、ショートコードは、その機能を追加し、必要な場所で使用するためのクリーンな方法を提供します。

このガイドでは、さまざまな方法を使用してテーマでショートコードを使用する方法を説明します。

WordPressテーマでショートコードを使用する方法

WordPressテーマでショートコードを使用する理由

ショートコードは、画像ギャラリー、フォーム、ソーシャルメディアフィードなど、さまざまな機能をウェブサイトに追加できます。

WordPressにはいくつかの組み込みショートコードがありますが、サイトにショートコードを追加する人気のWordPressプラグインもたくさんあります。

たとえば、WPForms には使いやすいブロックがありますが、ショートコードも提供しているため、ウェブサイトの他のエリアにフォームを追加できます。

WPForms提供のWordPressショートコードの例

ほとんどの場合、投稿やページのようなコンテンツエリア内にショートコードを追加します。

詳細については、WordPressでショートコードを追加する方法に関する完全ガイドをご覧ください。

WordPress のページまたは投稿にショートコードブロックを追加する

ただし、WordPressのテーマファイル内でショートコードを使用したい場合もあります。

これにより、標準のWordPress投稿エディターでは編集できない領域(アーカイブページなど)に動的な要素を追加できます。また、同じショートコードを複数のページで使用する簡単な方法でもあります。

たとえば、テーマのページまたは投稿テンプレートにショートコードを追加することがあります。

これを踏まえて、WordPressテーマでショートコードを使用する方法を見てみましょう。使用したい方法に直接ジャンプするには、以下のクイックリンクを使用してください。

方法 1: フルサイトエディターを使用する (ブロックテーマのみ)

WordPressのショートコードをテーマに追加する最も簡単な方法は、フルサイトエディターを使用することです。これにより、ウェブサイトの任意の場所にショートコードブロックを追加できます。

ただし、この方法はHestia Proのようなブロックベースのテーマでのみ機能します。ブロック対応テーマを使用していない場合は、別の方法を使用する必要があります。

開始するには、WordPressダッシュボードの外観 » エディターに移動します。

WordPressのフルサイトエディター(FSE)を開く

デフォルトでは、フルサイトエディターはテーマのホームページテンプレートを表示しますが、ショートコードを任意のテンプレートに追加できます。

利用可能なすべてのオプションを表示するには、「テンプレート」を選択します。

フルサイトエディターを使用してWordPressテンプレートにショートコードを追加する

編集したいカスタムページテンプレートをクリックできるようになりました。

例として、404ページテンプレートにショートコードを追加しますが、どのテンプレートを選択しても手順はまったく同じです。

フルサイトエディター(FSE)を使用してWordPressテーマにショートコードを追加する

WordPress はテンプレートのプレビューを表示します。

ショートコードを追加するには、小さな鉛筆アイコンをクリックしてください。

フルサイトエディター(FSE)を使用してWordPressテーマの404テンプレートを編集する

これが完了したら、ブロックエディターの左上にある青い「+」アイコンをクリックします。

検索バーに「Shortcode」と入力する必要があります。

WordPressテーマにショートコードブロックを追加する

右側のブロックが表示されたら、テーマテンプレートにドラッグアンドドロップします。

これで、使用したいショートコードを貼り付けるか、入力することができます。

WordPressテーマにショートコードブロックを追加する

その後、「保存」ボタンをクリックしてください。

これで、WordPressブログにアクセスして、ショートコードが機能していることを確認してください。

ショートコードの例(404ページテンプレートにて)

方法 2: WordPress テーマファイルを編集する (どの WordPress テーマでも機能します)

テーマファイルを編集してWordPressテーマにショートコードを追加することもできます。この方法はより高度ですが、クラシックテーマとブロックテーマの両方で機能します。

まだサイトにコードを追加したことがない場合は、WordPressにウェブ上のスニペットをコピー&ペーストする方法に関するステップバイステップガイドをご覧ください。

個々のテーマファイルを直接編集することも可能ですが、そうすると カスタマイズを失わずにWordPressテーマを更新する のが難しくなります。このため、テーマファイルをオーバーライドして 子テーマを作成する ことをお勧めします。

カスタムテーマを作成している場合は、既存のテーマファイルにコードを追加または変更できます。

テーマファイルを編集する際、標準のコンテンツ領域で使用するのと同じ形式でショートコードを追加することはできません。ショートコードの出力が表示される代わりに、画面上にはショートコード自体が表示されます。

これは、WordPressがテーマテンプレートファイル内でショートコードを実行しないために発生します。代わりに、do_shortcode関数を使用して、WordPressにショートコードを実行するように明示的に指示する必要があります。

詳細については、カスタムコードを簡単に追加する方法に関するガイドを参照してください。

WordPressテーマファイルに追加するコードの例を以下に示します。

echo do_shortcode('[gallery]');

使用したいショートコードに「gallery」を置き換えるだけです。

ショートコードをどこに追加すればよいかわからない場合は、WordPressテンプレート階層の初心者向けガイドを参照してください。

追加のパラメータを持つショートコードを追加している場合は、少し異なるコードスニペットを使用する必要があります。

WPFormsを使用して問い合わせフォームを作成したとします。この場合、標準のWPFormsショートコードとフォームのIDを使用する必要があります。

echo do_shortcode("[wpforms id='92']");

トラブルシューティング: do_shortcode が機能しない場合の対処法

テーマファイルにショートコードを追加したにもかかわらず、コードの出力が WordPressウェブサイト に表示されない場合があります。これは通常、そのショートコードがWordPressプラグインまたはウェブサイト上の他のコードに依存していることを意味します。

do_shortcode 関数が機能しない場合は、ショートコードを提供するプラグインがインストールされ、有効になっていることを確認してください。プラグイン » インストール済みプラグイン に移動してください。

次の画像では、WPFormsがインストールされていますが非アクティブなため、echo do_shortcode コードは機能しません。

WordPress プラグインのインストールと有効化方法

shortcode_exists() 関数を index.php ファイルに追加することで、ショートコードが利用可能かどうかを確認することもできます。

次のスニペットでは、WPFormsスニペットがウェブサイトで使用可能かどうかを確認しています。

if ( shortcode_exists( 'wpforms' ))  {
  echo do_shortcode("[[wpforms id='147']]");
}

ウェブサイトにショートコードの出力がまだ表示されない場合は、WordPressのキャッシュをクリアしてみてください。サイトの古いバージョンが表示されている可能性があります。

方法 3: ページビルダーでショートコードを追加する (カスタムテーマ)

もう 1 つの方法は、カスタム WordPress テーマを作成することです。これはより高度な方法ですが、WordPress テーマの任意の領域に好きなだけショートコードを追加できます。また、他の変更を加えて、必要な機能とデザインを正確に作成することもできます。

以前は、カスタム WordPress テーマを構築するために、複雑なチュートリアルに従ったり、カスタムコードを記述したりする必要がありました。しかし、SeedProd を使用すると、1 行のコードも記述せずにカスタムテーマを作成できるようになりました。

SeedProdは最高のWordPressページビルダーであり、テーマビルダーと、サイトキットとテンプレート全体も付属しています。ドラッグ&ドロップエディターを使用して独自のテーマをデザインできます。

SeedProdの詳細なテーマビルダー機能

当社のパートナーブランドのいくつかは、ウェブサイト全体をこれでデザインしており、そのチームは初心者にも優しく、使い方が簡単であることを高く評価しています。

手順については、カスタムWordPressテーマを(コードなしで)簡単に作成する方法のガイドをご覧ください。

テーマを作成した後、SeedProd » Theme Builder に移動することで、WordPressウェブサイトの任意の場所にショートコードを追加できます。

カスタムWordPressテーマテンプレート

ここで、ショートコードを使用したいテンプレートを見つけます。

次に、そのテンプレートの上にマウスカーソルを重ね、表示されたら「デザインを編集」をクリックします。

SeedProdを使用したカスタムテーマの作成

これにより、テンプレートがSeedProdのテーマビルダーで開かれます。

左側のメニューで、「高度」セクションまでスクロールします。ここで、ショートコードブロックを見つけて、レイアウトにドラッグします。

SeedProd を使用してテーマにショートコードブロックを追加する

ライブプレビューで、ショートコードブロックを選択するにはクリックするだけです。

これで、ショートコードを「ショートコード」ボックスに追加できます。

ショートコードを使用して WordPress テーマに連絡フォームを追加する

デフォルトでは、SeedProdはライブプレビューにショートコードの出力を表示しません。

ショートコードがどのように機能するかを確認するには、「ショートコードオプションを表示」トグルをクリックしてください。

SeedProdでショートコードの出力をプレビューする

その後、「詳細設定」タブを選択して、ショートコードの出力にスタイルを追加したくなるかもしれません。

ここで、間隔を変更したり、カスタムCSSを追加したり、CSSアニメーション効果を追加したりできます。

SeedProdテーマビルダーを使用したショートコード出力のスタイリング

ページの見た目が気に入ったら、「保存」ボタンをクリックするだけです。

その後、「公開」を選択してショートコードをライブにします。

SeedProd を使用してカスタム WordPress テーマを公開する

カスタムショートコードが機能しているか確認するために、ウェブサイトにアクセスできるようになりました。

このチュートリアルでWordPressのショートコードをテーマで使用する方法を学んでいただけたことを願っています。また、WordPressでランディングページを作成する方法に関するガイドや、最も効果的なWordPressデザイン要素に関する究極のガイドもご覧ください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

29 CommentsLeave a Reply

  1. ショートコードを追加する3番目の方法が好きです。なぜなら、あらゆる種類のテーマで機能するからです。また、テーマのアップデートで問題が発生した場合に備えて、子テーマでショートコードを作成することを好みます。

  2. プラグインによって既に作成されたものを挿入するのではなく、自分でショートコードを作成する方法はありますか?例を挙げさせてください。必ずしもPHPコードとしてどこにでも挿入したくないコードを作成します。そのコードをショートコードに変換し、それを目的の場所に挿入するだけで、そのショートコード内に隠されたPHPコード全体がそこで実行されるようにできますか?

  3. コンタクトフォーム7を削除したところ、[contact-form-7 404 “Not Found”] のようなエラーが表示されます。フォームはもう使用したくないのですが、このエラーを削除したいです。テンプレートファイル内のコードやショートコードがどこにあるのかわかりません。

  4. こんにちは、

    WordPress のビジュアルエディターでギャラリープラグインのショートコードを記述しましたが、ショートコードが実行されず、記述したとおりに表示されます。

    例えば [test attr=’hello’] と書くと、実行されずにそのままウェブページに表示されます。

    ありがとう。

  5. これは素晴らしい投稿です、ありがとうございます。今、私が作成しているウェブサイトのショートカットを調べています。

  6. こんにちは、マルチサイトで 2 つの WordPress ブログを持っています。
    ウェブサイト 1 からウェブサイト 2 のショートコードを使用する方法を知っていますか?
    ありがとうございます

  7. コードはこちらです。

    CODE: ——————————————————————————————

    echo do_shortcode(“[tabset tab1=”タブ1タイトル” tab2=”タブ2タイトル”]
    [tab]タブ1の内容[/tab]”)

    [tab]タブ 2 のコンテンツ[/tab]
    [/tabset]”);

    —————————————————————————————————-

  8. それは良い情報ですね。単純に追加する方法を探していました。感謝します。

  9. 素晴らしい情報です。ありがとうございます!しかし、Wordpress 3.5.1 の Avada テーマでは機能しません。

    上記のコードを機能させるには、functions.php に何かを追加する必要がありますか?テーマ固有の問題の可能性がありますか?ありがとうございます。WordPress のテンプレート作成を学んだばかりです。

  10. これは素晴らしいちょっとしたヒントですね。コンテンツがショートコードでラップされる必要がある場合は、これはどのように機能しますか?

    例:[shortcode-name]ここにコンテンツ[/shortcode-name]。

    • タイロンさん、
      返信が遅くなり申し訳ありません。今見たばかりです。ラップされたコンテンツを含めるには、次のようにすることができます。

      echo do_shortcode(‘[example_shortcode]’.$text_to_be_wrapped_in_shortcode.'[/example_shortcode]’);

      乾杯、
      J

  11. こんにちは、皆さん
    コードはどこに追加しますか…

    どのファイルに追加し、ファイルのどこに追加しますか?

    私のテーマはすでにショートコードを使用していますが、それでも知っておくと興味深いでしょう。

返信する

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。