

舞台公演の情報を表示するページを作成しております。

カスタムフィールドで入力した内容を取得して一覧表示させるコードを作成し、  
”固定ページのテンプレートに記述して表示”させることには成功しました。

これを **スタンダードな投稿記事の中でも同様に表示させたい** と考え、  
**ショートコードにして呼び出す** という方法で実現を試みているのですが、  
function.phpに同様の内容を記述し、ショートコード化する記述を追加したところうまく動作せず（表示が真っ白になってしまう）、どのようにすればよいかつまづいています。

初歩的な質問で恐縮ですが、どこに問題があるのか、どのようにするとうまくいくのか、ご教示いただけますと幸いです。

[code]

    <p style="font-size:80%;display:inline-block;width:auto;padding:3px 15px;margin:20px 0 0 0;font-weight:bold;border:1px solid #ddd;">
    2018年4月
    </p>
    
    <?php
    $posts = get_posts(
                   array(
                     'numberposts' => -1,
                     'post_type' => 'kouen',
                     'orderby' => 'meta_value',
                     'meta_key' => 'schedule_start',
                     'order' => 'ASC',
                     'meta_query' => array(
                       'key' => 'schedule_start',
                       'value' => array('2018/04/01','2018/04/31'),
                       'compare' => 'BETWEEN',
                       'type'=>'DATE'
                     )
                  )
                 );
    
    global $post;
    ?>
    <?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
    
    
    
    <div style="padding:15px 0;border-bottom:1px dotted #dddddd;line-height:140%;">
    
    <span style="font-size:90%;">
    <?php $week = array("日", "月", "火", "水", "木", "金", "土"); ?>
    <?php $date = date_create(''.get_field('schedule_start').''); echo date_format($date,'n月j日') . "(" . $week[(int)date_format($date,'w')] . ")" ; ?>
    〜
    <?php $date = date_create(''.get_field('schedule_end').''); echo date_format($date,'n月j日') . "(" . $week[(int)date_format($date,'w')] . ")" ; ?>
    </span>
    <br>
    <span style="margin-top:5px;margin-bottom:5px;display:block;">
    <strong>
    <?php the_field('team_name'); ?>『<?php the_field('title'); ?>』
    </strong>
    <span style="font-size:80%;"><?php the_field('location'); ?></span>
    </span>
    
    <!--URlがあれば表示、の分岐　ここから-->
    <?php $imgid = get_field('url'); ?>
    <?php if(empty($imgid)):?>
    <?php else:?>
    <span style="font-size:80%;margin-bottom:10px;display:block;">→&nbsp;<a href="<?php the_field('url'); ?>" target="_blank"><?php the_field('url'); ?></a></span>
    <?php endif;?>
    <!--URlがあれば表示、の分岐　ここまで-->
    
    <!--感想1があれば表示、の分岐　ここから-->
    <?php $imgid = get_field('kanso1_title'); ?>
    <?php if(empty($imgid)):?>
    <?php else:?>
    <!--<span style="font-size:90%;margin-top:10px;margin-bottom:5px;display:block;">観劇レポート</span>-->
    <span style="font-size:100%;font-weight:bold;">・<a href="<?php the_field('kanso1_url'); ?>" target="_blank"><?php the_field('kanso1_title'); ?></a></span><span style="font-size:90%;">　by<?php the_field('kanso1_user'); ?></span><br>
    <?php endif;?>
    <!--感想1があれば表示、の分岐　ここまで-->
    
    <!--感想2があれば表示、の分岐　ここから-->
    <?php $imgid = get_field('kanso2_title'); ?>
    <?php if(empty($imgid)):?>
    <?php else:?>
    <span style="font-size:100%;font-weight:bold;">・<a href="<?php the_field('kanso2_url'); ?>" target="_blank"><?php the_field('kanso2_title'); ?></a></span><span style="font-size:90%;">　by<?php the_field('kanso2_user'); ?></span><br>
    <?php endif;?>
    <!--感想2があれば表示、の分岐　ここまで-->
    
    <!--感想3があれば表示、の分岐　ここから-->
    <?php $imgid = get_field('kanso3_title'); ?>
    <?php if(empty($imgid)):?>
    <?php else:?>
    <span style="font-size:100%;font-weight:bold;">・<a href="<?php the_field('kanso3_url'); ?>" target="_blank"><?php the_field('kanso3_title'); ?></a></span><span style="font-size:90%;">　by<?php the_field('kanso3_user'); ?></span><br>
    <?php endif;?>
    <!--感想3があれば表示、の分岐　ここまで-->
    
    <!--感想4があれば表示、の分岐　ここから-->
    <?php $imgid = get_field('kanso4_title'); ?>
    <?php if(empty($imgid)):?>
    <?php else:?>
    <span style="font-size:100%;font-weight:bold;">・<a href="<?php the_field('kanso4_url'); ?>" target="_blank"><?php the_field('kanso4_title'); ?></a></span><span style="font-size:90%;">　by<?php the_field('kanso4_user'); ?></span><br>
    <?php endif;?>
    <!--感想4があれば表示、の分岐　ここまで-->
    
    <!--感想5があれば表示、の分岐　ここから-->
    <?php $imgid = get_field('kanso5_title'); ?>
    <?php if(empty($imgid)):?>
    <?php else:?>
    <span style="font-size:100%;font-weight:bold;">・<a href="<?php the_field('kanso5_url'); ?>" target="_blank"><?php the_field('kanso5_title'); ?></a></span><span style="font-size:90%;">　by<?php the_field('kanso5_user'); ?></span><br>
    <?php endif;?>
    <!--感想5があれば表示、の分岐　ここまで-->
    
    
    <!--見る見た表示　ここから-->
    <?php
     $cfcb = get_field_object('mirumita');
     $cfcbId = get_post_meta($post->ID,'mirumita');
     $cfcbId = $cfcbId[0];
     if($cfcb) {
     foreach($cfcbId as $v) {
     echo '<span style="font-size:60%;" class="ico-'. $v. '">' . $cfcb['choices'][$v] .'</span>';
     }
     }
     ?>
    <!--見る見た表示　ここまで-->
    
    
          </div><!--data_box-->
    
    <?php endforeach; endif;?>
    
[/code]


CC BY-SA 3.0
2018-04-30T00:00:31.443
43662
2018-04-30T00:00:31.443
28301
question
php wordpress
WordPress / 固定ページテンプレート内のコードのショートコード化