Elementorを使用していると、ページビルダープラグイン特有のエラーに遭遇することがあります。今回ご紹介する「the_content関数を呼び出す必要があります(You must call the_content function)」は、そんなElementorエラーの1つ。このエラーは特に厄介で、Elementorで編集作業をすることができなくなってしまいます。

通常、このElementorエラーは、デフォルトのビルダーでサポートされていないページを編集しようとすると表示されます。そのため、すべてのページにこのエラーが表示されていない限り、比較的容易にトラブルシューティングを行うことができます。原因さえ特定できれば、すぐに解決できます。

今回は、「the_content関数を呼び出す必要があります」エラーの原因についてご説明した後、トラブルシューティング方法を見ていきます。

Elementorの「the_content関数を呼び出す必要があります」エラーとは

このエラーのメッセージ全文は、以下の通り。

「ページにコンテンツエリアが見つかりませんでした。Elementorがこのページで動作するためには、現在のテンプレートで’the_content’関数を呼び出す必要があります」

WordPressのthe_content関数がないということは、一見すると現在使用しているテーマに問題があるように思えますが、この関数は投稿内容を表示するものであり、Elementor対応テーマ特有の関数ではありません。

Elementorのエラーメッセージ
Elementorのエラーメッセージ

つまり、この「the_content関数を呼び出す必要があります」エラーが発生する原因は、いくつか考えられます。基本的には、ElementorでサポートされていないWordPressコンテンツを編集しようとして発生するのが一般的です。例えば、無料版では編集できない商品ページを編集しようとするとこのエラーが表示されます。

また、キャッシュの問題が原因になっている可能性も。この場合は、ブラウザキャッシュをクリアすれば数分でエラーが解決するはずです。今回は、より複雑な原因で発生するエラーのトラブルシューティング方法を見ていきます。

Elementorの「the_content関数を呼び出す必要があります」エラーを解決するには(4つの方法)

「the_content関数を呼び出す必要があります」エラーの概要がわかったところで、このエラーが発生するいくつかの状況とその解決方法を見ていきましょう。

1. テーマビルダーでブログのアーカイブページを編集する

Elementorの無料版には、テーマビルダー機能がありません。Elementorのテーマビルダーは、WordPressのフルサイト編集と同じような機能で、テーマのテンプレートを使って、通常の固定ページのように編集することができます。

ブログのアーカイブページを編集する際、テーマビルダーを使用せずにElementorエディターにアクセスすると、このエラーが表示されることがあります。有料版をご利用の場合、解決方法はシンプルです。

テンプレート」>「テーマビルダー」に移動し、編集したいテンプレートを選択するだけ。

Elementorのテーマビルダー
Elementorのテーマビルダー

テンプレートを選択すると、Elementorのエディターが起動し、編集作業を行うことができます。また、テーマテンプレート用に用意された様々なデザインも使用可能です。

Elementorに用意されているテーマ
Elementorに用意されているテーマ

ブログのアーカイブテンプレートの編集を終えたら、Elementorページビルダーで変更を保存してください。

2. テーマビルダーで商品ページを編集する

Elementorで個々の商品ページを編集しようとすると、WooCommerceのカスタム投稿タイプ「product」がこのエラーを引き起こすことも。これは、Elementorの無料版で商品ページの編集がサポートされていないのが原因です。

WooCommerceとElementorを統合するには、有料版が必要になります。Elementorの有料版を利用すると、テーマビルダー機能で商品ページやショップページのテンプレートを編集できるようになります。テーマビルダーを使用するには、「テンプレート」>「テーマビルダー」に移動しましょう。

有料版では、デフォルトでは商品ページ用のプリセットがありませんが、サイトにインポート可能なElementorのテンプレートを活用することができます。

Elementorのブロックとテンプレート
Elementorのブロックとテンプレート

ブログのアーカイブページ同様、商品テンプレートについても、エディターでデザインを細かく編集することができます。唯一の違いとしては、Elementorのエディターへのアクセス方法だけです。

3. ページスラッグを再利用していないことを確認する

別の原因として、WordPressのページスラッグを再利用していることも挙げられます。WordPressのデフォルトでは、複数のブログ記事やページで同じスラッグを使用することはできませんが、固定ページ、商品、投稿のカテゴリには同じスラッグを設定することができます。

この場合、WordPressのパーマリンクに関する混乱が生じているかもしれません。つまり、Elementorのページビルダーが、商品ページや、テーマビルダー(有料版のみ)を必要とする別のタイプのテンプレートを編集しようとしていると認識している可能性があります。

このような状況を回避するため、複数のタイプの要素に同じスラッグを再利用していないかを確認してください。どのページのスラッグもブロックエディターで簡単に変更可能です。

4. カスタムページのテンプレートにthe_content関数が含まれていることを確認する

エラーメッセージにある通り、WordPressのthe_content関数がないテンプレートを使用すると、このエラーが発生します。

WordPressのテーマが原因になっているかどうかを確かめる手っ取り早い方法は、Twenty Twenty-OneTwenty Twenty-Twoのデフォルトテーマに切り替えること。テーマを切り替えてエラーが消えた場合は、使用していたテンプレートにthe_content関数が含まれていないとみて間違いないでしょう。

この段階で、違うテーマを使用するか、エラーがでたページのテンプレートを編集するかの2択に絞られます。後者の場合は、テーマ開発基本的なPHPコードレビューの知識が必要です。

ほとんどの場合、使用しているテーマ内のpage.htmlまたはsingle.htmlのテンプレートファイルを編集することになります。wp-content/themesディレクトリに移動して、使用しているテーマのフォルダでtemplatesフォルダを見つけてください。

templatesフォルダ
templatesフォルダ

編集したいファイルを開き、以下の関数が含まれているかどうかを確認します。

<?php the_content(); ?>

見当たらない場合は、関数を加えてください。ただし、ページテンプレートに関数を加えると、デザインや機能に影響を与える可能性があるため慎重に行うこと。操作に不安がある場合は、WordPress開発者に依頼することをおすすめします。

まとめ

Elementorの「the_content関数を呼び出す必要があります」エラーが発生すると、ページビルダーで特定のページ(あるいは複数)が編集できなくなくなります。このWordPressエラーは、大抵の場合、Elementorの無料版でサポートされていないページテンプレートを編集しようとしているのが原因です。

このElementorエラーのトラブルシューティング方法は、以下の通り。なお、最初の2点はElementorの有料版が必要です。

  1. テーマビルダーでブログのアーカイブページを編集する
  2. テーマビルダーで商品ページを編集する
  3. ページスラッグを再利用していないことを確認する
  4. カスタムページのテンプレートにthe_content関数が含まれていることを確認する

このようなエラーをトラブルシューティングするには、適切なツールが不可欠。DevKinstaには、Elementorで構築したWordPressサイトをテストし、エラーを解決するのに必要な機能が組み込まれています。