質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

3236閲覧

phpでの出勤表表示について[wordpress]

awazon78

総合スコア32

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2016/09/19 04:12

現在
https://kurubusi.net/products/sample/sample_krc-cast-manager/

こちらのサイトの[krc-cast-manager]というプラグインを使用して出勤表を作成しています。
しかしなかなか理想通りに出力できなくて困っています。
理想としては

html

19/19(月) 2A子 3B子 49/20(火) 5A子 6C子 79/21(水) 8B子 9A子

の様に表示出来るのが理想です。

現在はファンクションでショートコードを作成して、表示しています。

php

1function outschedule($day) { //DBから該当の日付のデータを取得 2 global $wpdb; 3 $table_name = $wpdb->prefix . 'krc_schedules'; 4 $schedules = $wpdb->get_var( 5 $wpdb->prepare("SELECT work FROM $table_name WHERE day = %s AND status = %d", $day, 0) 6 ); 7 $works = unserialize($schedules); 8 return $works; //配列にして返す 9} 10 11function schedulesHtml() { //ショートコードの中身 12 $day = isset($_GET["works"]) ? $_GET['works'] : date("Y-m-d"); 13 $works = outschedule($day); 14 $len = 4; //+1 15 16 $week = array("日", "月", "火", "水", "木", "金", "土"); 17 $w = date('w', strtotime($day)); 18 echo '<header class="sub_h_header">'; 19 echo '<p class="en_h">SCHEDULE FOR ' . date('n.j', strtotime($day)) . '</p>'; 20 echo '<h2 class="sub_h">' . date('n/j', strtotime($day)); 21 echo '(' . $week[$w] . ')'; 22 echo 'の出勤スケジュール</h2>'; 23 echo '</header>'; 24 25 echo '<nav class="krc_calendar clearfix"><ul>'; 26 for ($i = 0; $i <= $len; $i++) { echo '<nav class="krc_calendar clearfix"><ul>'; 27 $y = date('D', strtotime('+' . $i . ' day')); 28 if (date('Y-m-d', strtotime('+' . $i . ' day')) == $day) 29 $y = 'target'; 30 echo '<li class="' . mb_strtolower($y) . '"><a href="' . home_url('/') . '/schedule/?works=' . date('Y-m-d', strtotime('+' . $i . ' day')) . '">' . strtoupper(date('n/j(D)', strtotime('+' . $i . ' day'))) . '</a></li>'; 31 } 32 echo '</ul></nav>'; 33 34 if (!$works) { 35 //予定がない場合 36 echo '<br>'; 37 } else if ($works != 'rest') { 38 echo '<div class="clearfix p70">'; 39 //postid順に配列に入っているのでs_order順にした配列を作る 40 $works_array = array(); 41 foreach ($works as $id => $val) { 42 $works_array[$val["s_order"]] = $id; 43 } 44 ksort($works_array); 45 foreach ($works_array as $rder => $id) { 46 $args = array( 47 'post_type' => 'krc_cast', 48 'post__in' => array($id), 49 ); 50 query_posts($args); 51 while (have_posts()) : the_post(); 52 get_template_part('template-parts/content', 'cast'); 53 endwhile; 54 wp_reset_query(); 55 } 56 echo '</div>'; 57 } else { 58 //休み 59 echo '<br>'; 60 } 61} 62 63add_shortcode('scheduleshtml', 'schedulesHtml'); //[scheduleshtml]というショートコードを作成

これを表示すると、

php

1 <article id="post-90" class="post-90 krc_cast type-krc_cast status-publish hentry krc_grade-premium krc_age-9 krc_tall-150cm krc_cups-a"> 2 <header class="entry-header"> 3 <h1 class="entry-title">A子</h1> </header><!-- .entry-header --> 4 <div class="entry-content"> 5 </div><!-- .entry-content --> 6 <footer class="entry-footer"> 7 <span class="edit-link"><a class="post-edit-link" href="http://tokyo.clubs-nagoya.com/wp-admin/post.php?post=90&amp;action=edit"><span class="screen-reader-text">"魂れぼりゅーしょん"</span>編集</a></span> 8 </footer><!-- .entry-footer --> 9 </article><!-- #post-## --> 10 11 <article id="post-98" class="post-98 krc_cast type-krc_cast status-publish hentry krc_grade-premium krc_age-6 krc_tall-150cm krc_cups-j"> 12 <header class="entry-header"> 13 <h1 class="entry-title">B子</h1> </header><!-- .entry-header --> 14 <div class="entry-content"> 15 </div><!-- .entry-content --> 16 </article><!-- #post-## --> 17

この様に出力してしまいます。
これを冒頭で既述したように表示するにはどうしたら良いでしょうか
乱文で分かりにくいかもしれませんが、ご教授していただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

template-parts/content-cast.php を好きなように変更してください。または、新しいテーマファイルを作成して、get_template_part('template-parts/content', 'xxx');のように指定してください。

投稿2016/09/19 07:47

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

awazon78

2016/09/19 13:50

すいません。どのように変更したらよろしいのでしょうか??
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問