方法
ショートコードを設定
function.phpに以下のコードを追加します。
※function.phpの編集に慣れていない方は、function.phpの最終行以降に追加しましょう。(途中に挿入したりしない)
/* Googleカレンダー表示用ショートコード */
function fxCalendar($atts){
extract(shortcode_atts(array(
"m" =>0,
"cal_id" =>null
),$atts));
/* 月を指定するための処理 */
$count = "+" .$m . "month" ;
$year = date("Y",strtotime(date("Y-m-01").$count));
$month = date("n",strtotime(date("Y-m-01").$count));
/* 月の一日と末日を取得してひと月単位で表示させる */
/* うるう年の判定 */
if (($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0) {
$Lyear = true; /* うるう年 */
} else {
$Lyear = false; /* うるう年じゃない */
}
/* 末日を定義 */
/* 31日まである月 */
$m_days31 = array (1,3,5,7,8,10,12);
/* 30日までの月 */
$m_days30 = array (4,6,9,11);
if (in_array($month,$m_days31 )) {
$lastday = "31" ;
} else if (in_array($month,$m_days30 )){
$lastday = "30" ;
} else if($month == 2) { /* 2月 */
if($Lyear == true){
$lastday = "29" ;
} else {
$lastday = "28" ;
}
}
$Ym = date("Ym",strtotime(date("Y-m-01"). $count ));
$period = $Ym . "01" . "/" . $Ym . $lastday ;
/* 出力するソースコードの生成 */
$and = "&";
return
'<iframe src="https://www.google.com/calendar/embed?'
.'src='.$cal_id.$and //カレンダーが決まっている(一個しかない)場合はそのままカレンダーIDを記入した方が楽です
.'showTitle=0'.$and //▲タイトル非表示
.'showNav=0'.$and //▲ナビゲーション非表示
.'showDate=0'.$and //▲年月非表示
.'showPrint=0'.$and //▲印刷アイコン非表示
.'showTabs=0'.$and //▲タブ非表示
.'showCalendars=0'.$and //▲カレンダーリスト非表示
.'showTz=0'.$and //▲タイムゾーン非表示
.'wkst=2'.$and //▲週の開始曜日(1=日曜、2=月曜、7=土曜)
.'bgcolor=%23'.'ccc'.$and //▲背景色
.'color=%23'.'8D6F47'.$and //▲文字色
.'&ctz=Asia/Tokyo&dates=' . $period . '"' //タイムゾーン=日本
.' style="border : solid 1px #ccc"' //▲スタイルシート
.' width="800"' //▲横幅(px)
.' height="600"' //▲高さ(px)
.' frameborder="0" scrolling="no"></iframe>'; //ここは必要なので消さないでね
}
add_shortcode("GoogleCalendar","fxCalendar"); //前者がショートコードなので分かりやすい名前にしましょう。
/*
▲は任意項目なので、不必要な場合は行ごとに削除してください。
ただし $and や ダブルクォーテーション("")などが不足するとうまく表示されませんのでご注意ください。
*/
これで下準備が整いました。
記事や固定ページにショートコードを挿入
記事や固定ページの編集画面で編集方法を「テキスト」に設定し、カレンダーを表示させたい箇所に以下のショートコードを挿入してください。
[GoogleCalendar m="0" cal_id="カレンダーID"]
m=”x” が、月の指定になります。0=当月、1=翌月、2=再来月、12=来年の当月
cal_id=”カレンダーID”には、表示させたいカレンダーIDを記入します。
カレンダーIDの確認方法
- Googleカレンダーにログインして右上の設定ボタン(歯車アイコン)をクリックし、プルダウンメニューの中から「設定」をクリック
- 切り替わったカレンダー設定ページの、左上のタブメニューから「カレンダー」をクリック
- 一覧表示されたカレンダーの中から、表示したいカレンダー名をクリック
- 「カレンダーのアドレス」に表示されているカレンダーID【xxxxx@group.calendar.google.com】という文字列がカレンダーIDになります
↑の方法で確認できたカレンダーIDをコピーして、ショートコードの cal_id 部分に記入してください。
※カレンダーは「一般公開」されている必要があります。
Googleカレンダーを一般公開する方法はこちら
ショートコード入力例
今月のカレンダー
[GoogleCalendar m="0" cal_id="2i7smciu430uh0mv3i0qmd8iuk@group.calendar.google.com"]
来月のカレンダー
[GoogleCalendar m="1" cal_id="2i7smciu430uh0mv3i0qmd8iuk@group.calendar.google.com"]
来年の今月のカレンダー
[GoogleCalendar m="12" cal_id="2i7smciu430uh0mv3i0qmd8iuk@group.calendar.google.com"]
※上記のカレンダーIDは例として「二十四節気・雑節(国立天文台暦計算室)」のカレンダーIDを使用しています。