拡張アイキャッチ生成時にエラーが発生します (Error: Call to a member function get_cache() on null)

ホーム フォーラム一覧 Celtispack 及びアドオンに関するフォーラム 拡張アイキャッチ生成時にエラーが発生します (Error: Call to a member function get_cache() on null)

  • このトピックには3件の返信、2人の参加者があり、最後にenomotoにより6年、 5ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #6350
    Anonymous
    メンバー

    お世話になります。
    外部URLをアイキャッチに設定するため、利用させて頂いております。
    v3.5.0です。(3.3.0でも同様のエラーが発生しました。)

    WP-CLIを使って記事を投稿しているのですが、
    実行すると下記のようなエラーが発生します。

    PHP Fatal error:  Uncaught Error: Call to a member function get_cache() on null in /path/to/wordpress/wp-content/plugins/celtispack/modules/thumb-optimize/thumb-optimize.php:1002

    エラーの1002行目から「外部urlリンク画像を自サイトの uploads フォルダにキャッシュファイルとして生成」する「ext_thumbnail_generate()」関数の

    $gval = $cp_transient->get_cache( $opname );

    で、$cp_transientにget_cacheという関数は無いと出ています。
    globalで指定されている$cp_transientの中身はNULLでした。
    投稿の仕方の問題でしょうか・・・?もし、解決策や怪しい部分があれば教えていただきたく存じます。

    また、このエラーは発生しているのですが、管理画面を確認するとちゃんと投稿され、
    拡張アイキャッチもしっかり設定されています。

    /path/to/wordpress/wp-content/uploads/celtispack/thumbnail/以下に、生成された画像が入っており、サイトではそれが表示されているようです。
    これは画像キャッシュではなく、実際に再生成されてしまっているのでしょうか?(ローカルにDLできました)
    ([サムネイル再作成]のオプションは使っていません)

    恐れ入りますが、ご回答いただけましたら幸いです。
    何卒、よろしくお願い致します。

    #6351
    enomoto
    キーマスター

    WP-CLI 詳しくないのでよくわからないのですが、通常の管理画面の投稿編集ページで拡張アイキャッチを生成する時はエラーなく実行できていますか?

    globalで指定されている$cp_transientの中身はNULLでした

    $cp_transient がNULLということは、おそらく Celtispack プラグイン自体が正常には実行されていないので WP-CLI では何か特別な処理が必要なのかも知れません

    プラグインで対応するのに何が必要なのかは不明です m(__)m

    また、このエラーは発生しているのですが、管理画面を確認するとちゃんと投稿され、
    拡張アイキャッチもしっかり設定されています

    これは、WP-CLI とは関係なく、後から投稿編集画面を開いたときに自動的に拡張アイキャッチが設定されています

    生成した拡張アイキャッチの画像は、サムネイル、中、大等のサイズ毎にキャッシュファイルとしてファイル名をMD5で変更して保存しているのでアクセス権限があればDLも可能です

     

    #6356
    Anonymous
    メンバー

    返信ありがとうございます。

    通常投稿画面で拡張アイキャッチの作成をしてみましたが、「サムネイル画像が取得出来ませんでした」と表示されました。
    ビジュアルエディタでYoutubeのURLを貼り付けてみましたが、埋め込み動画にもならなかったので、うまく作動してないのかもしれません。
    他のプラグインとの競合か、使っているテーマの問題でしょうか・・・。

    WP-CLIとは管理画面からではなく、ターミナルなどからコマンドで記事を投稿できるようなものなのですが、
    PHPのスクリプトからこのコマンドをexecで実行するような形をとっています。

    後から投稿編集画面を開いたときに自動的に拡張アイキャッチが設定されています

    とのことなのですが、投稿するスクリプトを実行したあと、編集画面を開かずとも、アイキャッチは設定されています。
    なので投稿した時点で生成されているのかな?と思ったのですが・・・

    #6357
    enomoto
    キーマスター

    通常投稿画面で拡張アイキャッチの作成をしてみましたが、「サムネイル画像が取得出来ませんでした」と表示されました。
    ビジュアルエディタでYoutubeのURLを貼り付けてみましたが、埋め込み動画にもならなかったので、うまく作動してないのかもしれません。
    他のプラグインとの競合か、使っているテーマの問題でしょうか・・・。

    WordPress の oEmbed 埋め込み処理が動作していないようです

    oEmbed が機能していないと Youtube のサムネイルを拡張アイキャッチとして生成することは出来ません

    まずは公式テーマや私が公開している Celtis_s テーマに切り替えてみて下さい

    正常に動作すればお使いのテーマの問題ですし、動作しなければプラグインを一つずつ止めてプラグインに問題ないかを確認してください

    拡張アイキャッチは、投稿を保存したり、表示した時に設定されていなければ自動的に設定する仕組みがありますので、編集画面を開かなくとも保存や表示で投稿データの読み書きが行われる時に生成したかも知れませんが、基本的には投稿記事のビジュアル編集画面で使用することを想定して作成してあります

     

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。
go-to-top