Welcartポスト(ウィジェット)の記事リストにサムネイルを表示したい

フォーラム 使い方全般 Welcartポスト(ウィジェット)の記事リストにサムネイルを表示したい

  • このトピックには9件の返信、2人の参加者があり、最後にakemiにより12年、 5ヶ月前に更新されました。
10件の投稿を表示中 - 1 - 10件目 (全10件中)
  • 投稿者
    投稿
  • #50791
    akemi
    参加者

    こんにちは!

    Welcartポスト(ウィジェット)の記事リストにサムネイルを表示したい場合どうすれば宜しいでしょうか?

    宜しくお願いします。

    #63218
    nanbu
    キーマスター

    こんにちは。

    ‘usces_filter_widget_post’というフックを利用すればカスタマイズ可能です。このフックは、usc-e-shop/functions/template_func.php のusces_list_post() 関数にあります。

    実際の設置方法は割愛させていただきます。

    フックの使い方に関してはこちらをご覧下さい。

    https://www.welcart.com/community/archives/1697

    #63219
    akemi
    参加者

    ありがとうございます。

    頑張ってやってみます!

    できたらまたご報告します。

    #63220
    akemi
    参加者

    その後、色々調べて、自分なりにやってみましたが上手くいきません。

    add_filter( 'usces_filter_widget_post', 'my_widget_post');
    function my_widget_post(){
    $args = func_get_args();
    $post_id = $args[1];
    $post = get_post($post_id);
    $str = usces_the_Image(0, 40, 40, $post, 'return' ) . wp_specialchars($post->post_title) . get_the_excerpt() ;
    return $str;
    }

    サイドバーのWelcartポストのウィジット以降が白く非表示になってしまいました。調べても良く判らず、困りました。アドバイス頂けると幸いです。宜しくお願いします。

    #63221
    nanbu
    キーマスター

    途中で非表示になってしまうのは、その部分でエラーが出ているためです。どんなエラーが出ているかエラーログを見ると、エラーの種類とどのファイルの何行目かが書いて有りますので、エラーログをチェックすることはデバッグには欠かせません。

    上記のコードの場合、恐らく$args[1] が取得できていないのではないかと思います。

    add_filter() 関数では引数をいくつ送るかを指定できます。ここでは省略していますので1つだけとなります。しかし$args[1] は2つ目の引数を参照しようとしていますのでWarnning が起きているのではないかと思います。

    このフックには全部で3つの引数が有りますので、add_filter() は

    add_filter( 'usces_filter_widget_post', 'my_widget_post', 10, 3);

    とすると良いと思います。

    10 は優先順位です。初期値が10ですのでそのままを指定し、第4引数でmy_widget_post() に送りたい引数の数を指定します。

    これでフックusces_filter_widget_post が提供する変数が全て利用できるようになります。

    #63222
    akemi
    参加者

    エラーログの確認ができました。

    >add_filter() 関数では引数をいくつ送るかを指定できます。ここでは省略していますので1つだけとなります。しかし$args[1] は2つ目の引数を参照しようとしていますのでWarnning が起きているのではないかと思います。

    上記の内容がいまいち良くわからず、

    フックの使い方を参考にして試してみました。

    https://www.welcart.com/community/archives/1697

    add_filter( 'usces_filter_widget_post', 'my_widget_post', 10, 3);
    function my_widget_post( $html ){
    $str = usces_the_Image(0, 40, 40, $post, 'return' ) . wp_specialchars($post->post_title) . get_the_excerpt() ;
    return $str;
    }

    しかし、同じような現象のエラーになってしまいました。

    $args[1] は2つ目の引数を参照とのことだったので、$args[0]で試したりしてみましたが、結果は同じでしした。

    $args[1]はどこを参照しているのか(どういう意味なのか)がわからず、困ってます。

    度々すみませんが、宜しくお願いします。

    #63223
    nanbu
    キーマスター

    エラーメッセージには、Call to undefined function usces_the_Image() と無かったですか?

    これは、usces_the_Image()という関数は存在しないといっています。つまり関数名が間違っているのです。正しくはusces_the_itemImage()です。

    #63224
    akemi
    参加者

    ありがとうございます、その関数は存在しないという意味だったのですね。

    修正しながら気づいたのですが、Welcart の投稿ではなくて、普通に投稿した画像のサムネイルを出そうとしていました。カテゴリーで選べばサイドバーにちゃんと表示されていたのでずっと勘違いしていました。

    そもそも普通に投稿したものはフックをかけてもサムネイルは出ないという事でしょうか?

    #63225
    nanbu
    キーマスター

    投稿サムネイル(アイキャッチ)を出したいということであれば、WordPress にそのテンプレートタグが用意してあったと思います。

    また、記事内に置いた画像(ギャラリー)をサムネイルとして表示させるプラグインも確かあったと思いましたが、こちらはWelcart と競合する可能性が有ります。

    サムネイルの件、こういうことでよろしかったでしょうか。

    #63226
    akemi
    参加者

    そうですよね、WordPress のテンプレートタグを確認してやってみようと思います。ありがとうございました!

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