XPressME Integration Kit

フォーラム

拡張ブロックにアイキャッチ画像をループ表示させる

永らくありがとうございました フォーラム 使い方全般 拡張ブロックにアイキャッチ画像をループ表示させる

このトピックには9件の返信が含まれ、2人の参加者がいます。8 年、 7 ヶ月前 匿名 さんが最後の更新を行いました。

10件の投稿を表示中 - 1 - 10件目 (全10件中)
  • 投稿者
    投稿
  • #2675

    匿名

    toemon様

    お世話になります。

    たびたび恐れ入ります。

    新たに、以下の環境でxpressmeをテストしております。

    ・xcl2.2RC

    ・xpressme2.39

    xcl2.2RCでも問題なく動いております。

    今回は、表題のとおり、拡張ブロックに

    アイキャッチ画像をループ表示させることができないかと

    考えております。

    ちなみに、wordpress上では、functions.phpに以下のコードを追加。

    <code>add_theme_support('post-thumbnails');<br />
    <br />
    set_post_thumbnail_size(640, 150, true);</code>

    single.phpとindex.phpに以下のコードを追加。

    <code><?php echo get_the_post_thumbnail($post->ID); ?></code>

    記事のサムネイルとして使いたいと考えております。

    次に拡張ブロックですが、

    ためしに以下のように書いてみました。

    <code><?php<br />
    global $wpdb,$wp_query;<br />
    $disp_count = 5;<br />
    <br />
    if (!is_null($wpdb)){<br />
    $wp_query->in_the_loop = true;<br />
    while($r->have_posts()){<br />
    $r->the_post();<br />
    echo '. get_the_post_thumbnail($post->ID) . ';<br />
    echo '<a href="'. get_permalink() . '">' . the_title('','',false) . '</a><hr style="clear:both;margin-top:3px; margin:10px 0px 10px 0px;">';<br />
    }<br />
    }<br />
    ?></code>

    が、ダメでした…orz

    それとなぜか、xpressmeトップにアクセスしても、

    拡張ブロックがキャッシュされなくなってしまいました。

    コードは全くの見当違いでしょうか。

    キャッシュの問題は何か考えられる原因はございますでしょうか。

    #3271

    匿名

    toemon様

    少し前進しました。

    echoの部分とエラーが出ている個所を修正してみたところ、

    一応、表示されるようになりました。

    <code><?php<br />
    global $wpdb,$wp_query;<br />
    $disp_count = 5;<br />
    <br />
    if (!is_null($wpdb)){<br />
    $wp_query->in_the_loop = true;<br />
    echo get_the_post_thumbnail($post->ID);<br />
    echo '<a href="'. get_permalink() . '">' . the_title('','',false) . '</a><hr style="clear:both;margin-top:3px; margin:10px 0px 10px 0px;">';<br />
    }<br />
    ?></code>

    ちなみに、ここで引っぱってきたアイキャッチ画像に記事リンクを付けて

    サイズを調整することは出来るのでしょうか。

    #3272

    匿名

    記事のサムネイル(アイキャッチ)と記事タイトル、カスタムフィールド要素の

    3つを表示させるため、以下のようにしてみました。

    <code><?php<br />
    global $wpdb,$wp_query;<br />
    $disp_count = 5;<br />
    <br />
    if (!is_null($wpdb)){<br />
    $wp_query->in_the_loop = true;<br />
    $r = new WP_Query($tag_where .$contents_where."showposts=$disp_count&post_type=post&nopaging=0&post_status=publish");<br />
    while($r->have_posts()){<br />
    $r->the_post();<br />
    echo '<div style="float:left;margin-right:5px;"><a href="'. get_permalink() . '">' . get_the_post_thumbnail(array(60,60)) . '</a></div>';<br />
    echo '<a href="'. get_permalink() . '">' . the_title('','',false) . '</a>';<br />
    echo '<div style="float:left;margin-right:5px;">' . get_post_meta($post->, '001') . '</div><hr style="clear:both;margin-top:3px; margin:10px 0px 10px 0px;">';<br />
    }<br />
    }<br />
    ?></code>

    この時点では、サムネイル画像のサイズが利かないのと、

    カスタムフィールド要素を引っぱってきていない、

    それと、Arrayというコードが表示されてしまっている

    という状況です。

    もう少し粘ってみます。

    #3273

    匿名

    参考書片手に苦戦しております。

    <code><?php<br />
    global $wpdb,$wp_query;<br />
    $disp_count = 5;<br />
    <br />
    if (!is_null($wpdb)){<br />
    $wp_query->in_the_loop = true;<br />
    $r = new WP_Query($tag_where .$contents_where."showposts=$disp_count&post_type=post&nopaging=0&post_status=publish");<br />
    while($r->have_posts()){<br />
    $r->the_post();<br />
    echo '<div style="float:left;margin-right:5px;"><a href="'. get_permalink() . '">' . get_the_post_thumbnail(array(60,60)) . '</a></div>';<br />
    echo '<strong><a href="'. get_permalink() . '">' . the_title('','',false) . '</a></strong>';<br />
    echo '<br />';<br />
    echo '<div style="font-size:80%;">';<br />
    printf(__('Posted in %s', 'xpress'), get_the_category_list(', '));<br />
    echo '</div>';<br />
    $key = "001"; echo get_post_meta($post->ID, $key, true);<br />
    echo '<hr style="clear:both;margin-top:3px; margin:10px 0px 10px 0px;">';<br />
    }<br />
    }<br />
    ?></code>

    CSSも直接書いているので見づらくて申し訳ございません。

    現状としましては…

    1.リンク付のアイキャッチ画像の取得に成功。サイズの指定ができない。

    2.リンク付の記事タイトル取得に成功。

    3.記事のカテゴリリンクの取得に成功。

    4.“001”という名前のカスタムブロックの値の取得ができない。

    という感じです。

    #3274

    toemon
    キーマスター

    1.リンク付のアイキャッチ画像の取得に成功。サイズの指定ができない。

    get_the_post_thumbnail(array(60,60))

    get_the_post_thumbnail($post->ID,array(60,60))

    だとおもいます。

    4.“001”という名前のカスタムブロックの値の取得ができない。

    カスタムフィールドの取得はそれでよいと思うのですが。

    ちなみに、echo $post->ID; をループの中にいれて、postIDが正しくループされているか確認ください。

    #3275

    匿名

    toemon様

    お手間おかけし誠に申し訳ございません。

    ちなみに、echo $post->ID; をループの中にいれて、postIDが正しくループされているか確認ください。

    echo $post->ID;を以下のように入れてみました。

    (こういうことでしょうか…)

    <code><?php<br />
    global $wpdb,$wp_query;<br />
    $disp_count = 5;<br />
    <br />
    if (!is_null($wpdb)){<br />
    $wp_query->in_the_loop = true;<br />
    $r = new WP_Query($tag_where .$contents_where."showposts=$disp_count&post_type=post&nopaging=0&post_status=publish");<br />
    while($r->have_posts()){<br />
    $r->the_post();<br />
    echo '<div style="float:left;margin-right:5px;"><a href="'. get_permalink() . '">' . get_the_post_thumbnail(array(60,60)) . '</a></div>';<br />
    echo '<strong><a href="'. get_permalink() . '">' . the_title('','',false) . '</a></strong>';<br />
    echo '<br />';<br />
    echo $post->ID;<br />
    echo '<div style="font-size:80%;">';<br />
    printf(__('Posted in %s', 'xpress'), get_the_category_list(', '));<br />
    echo '</div>';<br />
    $key = "001"; echo get_post_meta($post->ID, $key, true);<br />
    echo '<hr style="clear:both;margin-top:3px; margin:10px 0px 10px 0px;">';<br />
    }<br />
    }<br />
    ?></code>

    表示される内容は変わりませんでした。

    こういう意味でしょうか。

    申し訳ございません。

    #3276

    toemon
    キーマスター

    $post->id をecho ことによって、IDが表示されますよね。

    echo ‘postid=’ . $post->id;

    みたいな感じにしたほうが、わかりやすいかも、

    このループだと、5回のループが行われたいるので、それぞれ、異なるID値が表示されすはずです。

    もし IDの表示が変わっていないのであれば、$post->idでは正しく ID が取得できていない、ということになります。

    #3277

    匿名

    echo ‘postid=’ . $post->id;をいれてみましたところ、

    IDが取得できていないようです。

    $post->IDに特定のIDを入れると

    ちゃんと引っぱってきているので、

    $post->idが使えないということなのですね。

    ちなみに、パーマリンクの設定をカスタムにしているから、

    ということはありますでしょうか。

    #3278

    toemon
    キーマスター

    副ループでは$post->IDが使えないようです。

    <code>$postid = get_the_ID();</code>

    で$postidにIDを取得して、$post->IDの代わりに$postidを使ってください。

    それとget_the_post_thumbnail()のほうは

    get_the_post_thumbnail($postid,array(60,60))

    でも

    get_the_post_thumbnail(null,array(60,60))

    でもOKでした。

    #3279

    匿名

    toemon様

    ありがとうございます。

    で$postidにIDを取得して、$post->IDの代わりに$postidを使ってください。

    これにより、カスタムブロックの値を出力することができました。

    get_the_post_thumbnail(null,array(60,60))

    こちらも問題なく表示できました。

    最近、ワードプレスの関数リファレンスブックを片手に

    いろいろ試しております。

    関数がわかると、いろいろやりたくなってしまいます(笑)

    どうもありがとうございました。

10件の投稿を表示中 - 1 - 10件目 (全10件中)

このトピックに返信するにはログインが必要です。