Closed taka224 closed 3 years ago
@taka224 様
一つ目のエラーですが、エラーの内容を読んでいただくか、翻訳サイトなどで翻訳していただくとわかるかと思いますが、 require_once
の引数で指定した /contact2/lib/TransmitMail.php
というファイルがサーバー上に存在していない、という状態のようです。
PHP の require_once
は引数に相対パスを渡す仕様となっています。
サーバー上のルートディレクトリ以下に /contact2/lib/TransmitMail.php
を配置されたのであれば上記の書き方で間違っていないかと思いますが、 WordPress のテーマファイル以下にファイルを配置されたのであれば、書き方が間違っています。
例えば、下記のようなファイル構成の場合、
WordPress の設置ディレクトリ/
└ wp-content/
└ themes/
└ theme_name/
├ page-contact.php
└ contact2/
├ テンプレートファイル一式
├ config/
├ lib/
├ log/
└ tmp/
require_once
の引数は './contact2/lib/TransmitMail.php'
または 'contact2/lib/TransmitMail.php'
となるかと思います。
ただ、 WordPress ではテーマファイル以下の php ファイルが読み込まれた場合、パスの参照が変になってしまう(確か、実際に実行される php ファイルから見た相対パスと判別される)ので、私のブログ記事で「TransmitMail を WordPress で使う場合の設置方法( WordPress 5.5 編)」でが、 WordPress の定数を使ってパスを組み立てています。具体的には下記のようなコードです。
require_once TEMPLATEPATH . '/contact/lib/TransmitMail.php';
ご参考になれば幸いです。
ありがとうございます。
@taka224 本件は解決されましたでしょうか?
解決しました!ありがとうございます。
WPでTransmitMailを使いたいのですが、エラーになります。
page-contact.php
以下のエラーが表示されます。 Warning: require_once(/contact2/lib/TransmitMail.php): failed to open stream: No such file or directory in /home/users/0/lolipop.jp-dp59188621/web/wp/wp-content/themes/baydream/page-contact.php on line 5
Fatal error: require_once(): Failed opening required '/contact2/lib/TransmitMail.php' (include_path='.:/usr/local/php/7.4/lib/php') in /home/users/0/lolipop.jp-dp59188621/web/wp/wp-content/themes/baydream/page-contact.php on line 5
何か原因わかりますか? お手数ですがよろしくお願いします。