• 解決済 nagaib

    (@nagaib)


    いつもこちらのフォーラムを参考にさせていただいております。
    自分では解決できそうもないのでこちらで相談させてもらいました。

    トップページにテンプレートの違う2種類のカスタム投稿タイプを最新投稿順に3件表示したいと思っています。
    左側に画像があり、右側に日付、カテゴリー画像、タイトルと見た目の表示は同じなのですが、リンクの飛び先が1つ目のテンプレートはシングルページへ、2つ目はサイトURLへリンクしています。
    テンプレートはカスタムフィールドテンプレートを使用しています。

    どなたかお力をかして頂けると幸いです。
    どうぞ宜しくお願いします。

    【1つ目のテンプレート】
    <?php query_posts(array(‘post_type’ => array(‘events’), ‘posts_per_page’ => 3)); ?>
    <?php if(have_posts()):
    while(have_posts()): the_post(); ?>

    <div class=”entrybox”>

    <div class=”eventphoto”>
    <?php
    $attach_id = get_post_meta($post->ID,”画像1″,true);
    $image_info = wp_get_attachment_image_src( $attach_id , ‘full’ );
    list( $url, $w, $h) = $image_info;
    $h = intval(200 * ( $h / $w ));
    $alt = get_post_meta($attach_id , ‘_wp_attachment_image_alt’, true);
    ?>
    ” title=”<?php the_title(); ?>の詳細へ”>
    <img class=”zzzz” src=”<?php echo $url; ?>” alt=”<?php echo $alt; ?>” width=”66px” height=”50px” />

    <!– /.eventphoto –></div>

    <div class=”eventte”>
    <?php echo get_the_date(‘Y年m月d日’); ?> <?php if (function_exists(‘get_cat_icon’)) get_cat_icon(‘link=false’); ?>
    ” title=”<?php the_title(); ?>の詳細へ”>
    <?php the_title(); ?>

    <!– /.eventte –></div>

    <!– /.entrybox –></div>
    <?php endwhile; endif; ?>

    【2つ目のテンプレート】
    <?php query_posts(array(‘post_type’ => array(‘flowers’), ‘posts_per_page’ => 3)); ?>
    <?php if(have_posts()):
    while(have_posts()): the_post(); ?>

    <div class=”entrybox”>

    <div class=”eventphoto”>
    <?php
    $attach_id = get_post_meta($post->ID,”画像1″,true);
    $image_info = wp_get_attachment_image_src( $attach_id , ‘full’ );
    list( $url, $w, $h) = $image_info;
    $h = intval(200 * ( $h / $w ));
    $alt = get_post_meta($attach_id , ‘_wp_attachment_image_alt’, true);
    ?>
    ” title=”<?php the_title(); ?>の詳細へ” target=”_blank”>
    <img class=”zzzz” src=”<?php echo $url; ?>” alt=”<?php echo $alt; ?>” width=”66px” height=”50px” />

    <!– /.eventphoto –></div>

    <div class=”eventte”>
    <?php echo get_the_date(‘Y年m月d日’); ?> <?php if (function_exists(‘get_cat_icon’)) get_cat_icon(‘link=false’); ?>
    ” title=”<?php the_title(); ?>の詳細へ” target=”_blank”>
    <?php the_title(); ?>

    <!– /.eventte –></div>

    <!– /.entrybox –></div>
    <?php endwhile; endif; ?>

    【スタイルシート】
    .entrybox {
    padding: 10px;
    margin: 0;
    border-bottom:1px dotted #C8C8C8;
    }

    .eventphoto {
    float: left;
    width: 66px;
    height: 56px;
    }

    .eventte {
    float: right;
    font-size: 0.75em;
    text-align: left;
    line-height: 1.4em;
    width: 204px;
    }

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    nagaibさん、こんにちは。

    お望みの最終形がよくわからないのですが、2つの投稿タイプの中から最新3件を取得して、投稿タイプによってリンク先を変えたいということなのでしょうか?

    <?php query_posts(array('post_type' => array('events', 'flowers'), 'posts_per_page' => 3)); ?>

    として、

    $post->post_type

    を条件分岐の判別材料とし、リンク先のURLを変更すればよいのではと思います。

    それから、コードを貼り付けるときは、b-quoteではなく、codeを使ってもらえると◎です。

    トピック投稿者 nagaib

    (@nagaib)

    jim912さん

    ご回答ありがとうございます。

    条件分岐でカスタム投稿のタイプによって記述を分けることで、無事解決致しました。

    また、コードの貼り付けはcodeと教えていただきありがとうございます。
    お恥ずかしいですが、フォーラムの詳細ルールをもう一度読み直しました。
    いろいろと教えていただき、本当にありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「テンプレートの違う2種類のカスタム投稿タイプをトップページで最新投稿」には新たに返信することはできません。