サポート » プラグイン » contact form7のdo_shortcodeが未定義で実行されない

  • 解決済 hallo09

    (@hallo09)


    エックスサーバーの無料環境を使用しています。
    表題の通りですが、wordpressのプラグインcontact form7にてお問合せフォームを作り、
    そのフォームを独自phpファイルから呼び出したいと思い、
    以下の記述をphpファイル内に行いました。
    <?php echo do_shortcode(‘[contact-form-7 id=”345″ title=”test”]’); ?>

    しかしながら、実際の結果は以下となり・・
    Fatal error: Uncaught Error: Call to undefined function do_shortcode()
    なぜかdo_shortcodeメソッドは未定義だと怒られてしまいました。
    (wp-includes内をみたところ、このメソッドの記述があるphpファイルがあることは確認できております。)

    色々と調べましたが本事象と同じ事例の記事が1つも見当たらなく、
    質問を投げさせていただきました。
    お手上げです。

    本事象について、お心当たりのある方はいらっしゃいますでしょうか?

    宜しくお願いします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 hallo09

    (@hallo09)

    ちなみに経緯を説明しますと、
    独自phpファイルにお問い合わせフォームを埋め込む方法として
    ——————————————————–
    「<?php echo do_shortcode(‘[contact-form-7 id=”345″ title=”test”]’); ?>」
    ※idやtitleは実際に私が作成したフォームに紐付いています。
    ——————————————————–

    というやり方があるとの説明をネットの記事で見つけ、それを実践したところ、
    そんなメソッド定義されてないよ(Fatal error: Uncaught Error: Call to undefined function do_shortcode())と怒られたわけです。(ないわけがないのですが・・)
    対処方法を探ったところ、どのサイトでも上記のやり方でうまくいっているみたいで、
    手詰まりといったかんじです。

    WordPressで認識できないファイルでWordPressの関数は使えません。
    この場合はwp-load.phpを予め読み込んでおくことで関数を実行できるようになります。

    トピック投稿者 hallo09

    (@hallo09)

    ありがとうございます。
    早速試してみたところ、仰る通りwp-load.phpを読み込むことで無事にフォームを読み込むことができました!(ちなみに以下コードで読み込んでおります)

    require_once (‘../wp-load.php’);
    ※パスは各人の環境による

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「contact form7のdo_shortcodeが未定義で実行されない」には新たに返信することはできません。