Memo

WordPressで表組み型カレンダーを表示する

以前、WordPressでリスト型カレンダー表示機能を追加してみたでリスト型カレンダーを制作しましたが「表組みタイプはどうやったらいいですか?」という質問が来ていたので、表組みタイプのやり方もシェアしておきますね。

1年以上前の記事です。情報が古くなっている可能性があります。

やりたいこと・仕様

リスト型の記事同様、仕様は以下の通りです。

・カスタムフィールドで追加してある日付を元にカレンダー表示にしたい
・祝祭日も表示したい
・WordPressのdata.phpは使わない
・同じ日にイベントが表示されることもある

投稿日時は投稿日時で使う場合もあるので、data.phpは使用しないやりかたです。
カレンダーの表示は固定ページを一つ設けて、そこで大きく表示させます。

コードサンプル

以下のようなやりかたでカレンダー表示しています。
こんな感じのコードを元に、こんなカレンダーができてます。
(リスト型カレンダーのリンク、表組型へのリンクになってましたね…修正してます。リスト型カレンダーはこっちです

前の記事と違うのは、function my_event_calendarとfunction repeatくらいで、あとは前の記事と同じです。

function.php

page-calendar.php

リスト型と違うのは、tdを7回繰り返したらtrを挟まないといけないとこですね。
あとはリスト型同様、配列になおしたイベント情報を日付の合う場所に配置する感じです。

PHPの知識と表組みカレンダーの仕組み的なことが分かっていればすんなりできるかと。
参考としては、
PHP簡単カレンダー関数 | Webサイト制作支援 | ShanaBrian Website
この辺りですね。

WordPressはPHPの知識があると色々できて楽しいですね!@・ェ・@

POSTED COMMENT

  1. ki3 より:

    はじめまして。
    「WordPressで表組み型カレンダーを表示する」を参考にさせて頂いています。
    こちらのカレンダーは数日間にわたるイベントの時なども表示可能なのでしょうか。
    どうぞよろしくお願いします。

    • Mei Koutsuki より:

      初めまして!ご覧頂きありがとうございます。
      「数日間にわたるイベントの時なども表示可能」かどうかですが、これには対応していないです。
      対応したバージョンも時間が出来たら作りたいなーと思いつつ、できていません…。
      申し訳ないです!

  2. たつみん より:

    はじめまして。私もカスタムフィールドを利用してスケジュールをカレンダー形式で表示したいと悪戦苦闘しています。
    表組み、リスト、サムネ形式の切り替えとCSSについて詳しく解説していただけるとうれしいです。

    • Mei Koutsuki より:

      たつみんさん
      はじめまして。コメントありがとうございます。
      表組、リスト、サムネ形式の切り替えですが、ダメ系ライブカレンダーの方では、サムネ形式は「livelist」という固定ページで表示し、表組とリスト形式は、「calendar」の固定ページで引数「mode=list」かどうかで表示を切り替えています。
      Wordpressは結局PHPなので、$_GETなども使えます。

      <?php $_GET['mode'] == 'list' ?>
      リスト形式の表示
      <?php else: ?>
      表組形式の表示
      <?php endif; ?>
      

      という感じですね。
      CSSについては、デザイン等で変わってくるので、お答えするのは難しいです。

      • たつみん より:

        お返事いただけてうれしいです。

        条件分岐の解説ありがとうございます。引数を渡してあげればいいのですね。『Wordpress』でところにばかり考えておりましたが、PHPとしてどういうアプローチが考えられるか再考してみます。
        CSSはほんと不慣れでデバッグ繰り返してどう表示が変わるか手当たり次第やってみて勉強してます。

        これからもがんばります。
        お返事いただけて本当にありがとうございました。

  3. リバー より:

    こちらのカレンダーを参考にさせて頂きました。何とかカスタム投稿で、記事とカレンダーを連動する事ができましたが、以下の2点で苦労しています。

    1. 休館日:一括入力し、カレンダーに反映させる事は、可能でしょうか?現在は、休館日毎にページを作成しています。

    2. 同一イベント:各月に同じイベントを開催する場合、一括で年間設定などはできないのでしょうか?

    PHPの知識は、ほとんどありません。CSSとHTMLは中級程度です。

    • Mei Koutsuki より:

      リバーさん
      コメントありがとうございます。
      この方法は、WordPressの記事を表組カレンダー状に表示させています。
      一括入力してカレンダーに反映させたり、同一イベントを繰り返し表示したい場合は、違う方法で実装する必要があります。
      PHPとWordPressの知識が必要になってくると思います。
      より詳しい方にお願いするなどしたほうがよいかもしれません。

  4. […] くろひつじのメモ帳 WordPressで表組み型カレンダーを表示する […]

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください