https://kurubusi.net/products/sample/sample_krc-cast-manager/
こちらのサイトの[krc-cast-manager]というプラグインを使用しています。
出勤人数を取得して表示させたいのですが、
配列の数をカウントすることが思い通りにできず困っています。
理想としては、
本日の出勤人数○○人
の様に表示出来るのが理想です。
出勤キャストは、ファンクションでショートコードを作成して、表示しています。
//出勤スケジュール function outschedule($day) { //DBから該当の日付のデータを取得 global $wpdb; $table_name = $wpdb->prefix . 'krc_schedules'; $schedules = $wpdb->get_var( $wpdb->prepare("SELECT work FROM $table_name WHERE day = %s AND status = %d", $day, 0) ); $works = unserialize($schedules); return $works; //配列にして返す } function schedulesHtml() { //ショートコードの中身 date_default_timezone_set('Asia/Tokyo'); $day = isset($_GET["works"]) ? $_GET['works'] : date("Y-m-d"); $works = outschedule($day); $len = 7; //+1 $week = array("日", "月", "火", "水", "木", "金", "土"); $w = date('w', strtotime($day)); echo ' <div class="row"><div class="col-md-2"><div class="gnav cp_sl0"><section class="weekly"><h2 class="title fnt-2" style="text-align: center;">SCHEDULES</h2><ul id="nav">'; for ($i = 0; $i <= $len; $i++) { $yy = date('w', strtotime('+'.$i.' day')); $y = date('D', strtotime('+'.$i.' day')); if ( date('Y-m-d', strtotime('+'.$i.' day')) == $day ) $y = 'target'; echo '<li class="weekly' . mb_strtolower($yy) . '"><a class="radius" href="' . home_url( '/' ) . '/schedule/?works=' . date('Y-m-d', strtotime('+'.$i.' day')) . '">' . strtoupper(date('n/j(' . $week[$yy] . ')', strtotime('+'.$i.' day'))) . '</a></li>'; } echo '</ul></section></div></div>'; echo '<div class="col-md-10 col-xs-12"><section>'; echo '<h2 class="title fnt-2" style="text-align: center;">' . date('n'.'月'.'j'.'日', strtotime($day)); echo '' . $week[$w] . '曜日'; echo '</h2>'; echo '</section>'; if (!$works) { //予定がない場合 echo '<br>'; } else if ( $works !='rest' ) { $works_array = array(); foreach($works as $id => $val){ $works_array[$val["s_order"]] = array( 'id'=> $id, 'time' => $val ); } ksort($works_array); echo '<div class="cssgrid">'; foreach ($works_array as $id => $work) { $args = array( 'post_type' => 'cast', 'post__in' => array($work['id']), 'orderby' => 'post__in' ); //$test = query_posts($args); //printR($test); while ( have_posts() ) : the_post(); set_query_var( 'schedule', $work['time'] ); get_template_part( 'content', 'castlist' ); //content-castlist.phpは用意しておいて下さい。 endwhile; wp_reset_query(); } } echo '</div></div> <!-- cssgrid-->'; { //休み echo ''; } } add_shortcode('scheduleshtml', 'schedulesHtml'); //[scheduleshtml]というショートコードを作成
冒頭で既述したように出勤人数をカウントして表示するにはどうしたら良いでしょうか
説明が分かりにくいかもしれませんが、ご教授していただけると幸いです。
あなたの回答
tips
プレビュー