krc-cast-managerプラグインにて、キャストのスケジュール表示をさせております。
php
1function schedulesHtml() 2{ 3 ob_start(); 4 $day = isset($_GET["works"]) ? $_GET['works'] : date("Y-m-d"); 5 $works = outschedule($day); 6 $len = 6; //+1 7 $week = array( 8 "日", 9 "月", 10 "火", 11 "水", 12 "木", 13 "金", 14 "土" 15 ); 16 17 echo '<nav class="week_calendar"><ul>'; 18 for ($i = 0;$i <= $len;$i++) 19 { 20 $yy = date('w', strtotime('+' . $i . ' day')); 21 $y = date('D', strtotime('+' . $i . ' day')); 22 if (date('Y-m-d', strtotime('+' . $i . ' day')) == $day) $y = 'target'; 23 echo '<li class="' . mb_strtolower($y) . '"><a href="' . home_url('/') . '/schedule/?works=' . date('Y-m-d', strtotime('+' . $i . ' day')) . '">' . strtoupper(date('n/j (' . $week[$yy] . ')', strtotime('+' . $i . ' day'))) . '</a></li>'; 24 } 25 echo '</ul></nav>'; 26 $w = date('w', strtotime($day)); 27 echo '<div class="wp-block-group__inner-container home-block">'; 28 echo '<h2 class="sub-section">' . date('n/j', strtotime($day)); 29 echo '(' . $week[$w] . ')'; 30 echo 'の出勤スケジュール</h2>'; 31 32 if (!$works) 33 { 34 //予定がない場合 35 echo '<br>'; 36 } 37 else if ($works != 'rest') 38 { 39 //postid順に配列に入っているのでs_order順にした配列を作る 40 $works_array = array(); 41 foreach ($works as $id => $val) 42 { 43 $works_array[$val["s_order"]] = $id; 44 } 45 ksort($works_array); 46 foreach ($works_array as $rder => $id) 47 { 48 $args = array( 49 'post_type' => 'cast', 50 'post__in' => array( 51 $id 52 ) , 53 ); 54 query_posts($args); 55 while (have_posts()): 56 the_post(); 57 set_query_var('work', $works[$id]); 58 set_query_var('fncName', 'schedulehtml'); 59 get_template_part('content', ('castschedule')); 60 endwhile; 61 wp_reset_query(); 62 63 } 64 echo '</div>'; 65 } 66 else 67 { 68 //休み 69 echo '定休日'; 70 } 71 return ob_get_clean(); 72} 73add_shortcode('scheduleshtml', 'schedulesHtml');
これでショートコードを作成し、固定ページに1週間分のスケジュールをタブリンクにて表示させているのですが、
これをカスタマイズして、一気にむこう1週間分のスケジュールを取得&表示させて、タブにて切り替え表示させるには、
どのようにすればよろしいでしょうか??
現状は、タブリンクで新規ページを開いてという状態なのですが。
よろしくのほど、お願いいたします。
あなたの回答
tips
プレビュー