サポート » 使い方全般 » カスタムフィールドテンプレートを使用した記事一覧の条件分岐について

  • 解決済 blackbard

    (@blackbard)


    こんばんは。
    固定ページを作成し、記事一覧ページを作成したのですが
    思うように表示されないので相談させてください。

    日付、タイトルのみ表示された記事一覧を表示したいと思っています。

    その中で、詳細ページありのものは、通常のリンク。
    詳細ページを表示したくないものは、リンク無しにし、
    または、外部リンク(カスタムフィールド、linkに入力があれば)をつけたいと思っています。

    カスタムフィールドテンプレートでは、下記のように設定しております。

    [詳細ページのリンク先を表示したくない場合は、チェックをいれる]
    type = checkbox
    value = 詳細ページなし
    label = 詳細ページの有無

    [任意のリンクを設定する]
    type = textfield
    search = true
    label = link
    size = 100

    下記コードでは、詳細ページありのものまで、リンクが表示されません。
    カスタムフィールドのlinkに記入があるものは正しくリンクがはられる状態です。

    勉強中の為、どこが問題なのか苦戦しております。

    お分かりの方おられましたら、どなたかご教授頂けないでしょうか。
    宜しくお願いいたします。

    <?php $args = array( 	'post_type' => '',
    	//'post_type'=>array( 'post_type' => array( 'post', 'page', '', '' ),
    	//'category_name' => '',
    	//'tag' => '',
    	//'taxonomy' => '',
    	//'term' => '',
    	//'posts_per_page' => 5,
    	//'order' => 'ASC',
    	//'orderby' => 'menu_order'
    ); ?>
    <?php $loop = new WP_Query( $args );?>
    <?php if($loop -> have_posts()): ?>
    <?php while($loop -> have_posts()): $loop->the_post();?>
    
    <ul>
    <?php $tai = get_post_meta($post -> ID, "詳細ページの有無", true); ?>
    <?php if ($tai == '詳細あり') : ?>
    
    <dl>
    <dt><?php echo get_post_time('Y.m.d (D)'); ?></dt>
    <dd><a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
    </dd>
    </dl>
    
    <?php else : ?>
    
    <dl>
    <dt><?php echo get_post_time('Y.m.d (D)'); ?>
    </dt>
    <dd>
    <?php $post_id = $post -> ID; $link = get_post_meta($post_id, 'link', true); ?>
    <?php if ($link) : ?>
    <a href="<?php echo $link;?>"><?php the_title();?></a>
    <?php else : ?>
    <?php the_title();?>
    <?php endif; ?>
    </dd>
    </dl>
    
    <?php endif;?>
    
    <?php endwhile;?>
    <?php else:?>
    投稿はありません。
    <?php endif;?>
    <?php wp_reset_postdata();?>
    
     </div>
        </div>
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 blackbard

    (@blackbard)

    すみません。自己解決致しました。
    チェックボックスをラジオボタンにし、

    下記コードにすることで解決致しました。

    <?php if ($tai == '詳細あり') : ?>
    
    <dl>
    <dt><?php echo get_post_time('Y.m.d (D)'); ?></dt>
    <dd><a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
    </dd>
    </dl>
    
    <?php elseif  ($tai == '詳細なし') : ?>
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「カスタムフィールドテンプレートを使用した記事一覧の条件分岐について」には新たに返信することはできません。