この記事は WPXレンタルサーバー で WordPress のテーマ Simplicity を使用して書いています。
Simplicity には投稿記事内の画像や動画からアイキャッチを自動で付けてくれる機能がありますので、
・auto post thumbnail
・video thumbnails
といった、プラグインが不要になります。
便利な機能を付けてくれた作者さんに感謝です。
実際に試してみると、私の環境では YouTube の動画URLを入れると、投稿の編集画面で [下書きとして保存] や [公開] ボタンをクリックすると以下のエラーが出てしまい、正常に動作しませんでした。
Fatal error: Call to undefined function curl_get_file_contents() in /home/xxxx/public_html/wp-content/themes/simplicity/lib/auto-post-thumbnail.php on line 38
ソースファイルを追いかけてみると、その原因が見えてきました。以下の記述があります。
if (!ini_get('allow_url_fopen')) { $file_data = curl_get_file_contents($imageUrl); } else {
エラーの内容を見ると、38行目の curl_get_file_contents 関数が無い!と怒っているようです。
PHPに詳しくはありませんが、関数をサポートしているかはレンタルサーバの環境によるのかと思います。
多分、WPXレンタルサーバーではサポートしていないんでしょう。
でもよく見ると、37行目では、allow_url_fopen の設定があるかを確認しています。
WPXレンタルサーバーのPHP設定にこんな名前の項目がありましたので設定を確認すると、デフォルトでは「無効」になっていました。
試しに有効にしてみます。
WPX管理パネル > WordPress設定 > php.ini設定 > allow_url_fopen > 有効
この状態で、YouTube の動画URLを入れた投稿の編集画面で [下書きとして保存] や [公開] ボタンをクリックしてみると。。。
無事エラーはなくなり、アイキャッチが設定されました。
めでたしめでたし。
以上、WPXレンタルサーバー(クラウドもかな?)でSimplicityを使うときの注意点でした。
コメント
wpXクラウドを使用しているのですが、同様の設定になっていました。ただし、クラウドだとWordPressの使用が前提ですので、メニュー階層が1つ少なくて、
WPX管理パネル > php.ini設定 > allow_url_fopen > 有効
でした。ありがとうございました。