Web Design Office スタジオビートル―滋賀県草津市のWeb制作会社

ホームページやECサイトなどWebサイト制作のお問い合わせはこちら077-566-3365

いろいろメモ帳Memos

プログラム関連Program

WordPress3.8.1でMy Calendarを使うとポップアップが消えない

2014年02月05日
タグ:wordpress3.8.1、My Calendar
投稿者:Webディレクター 藤居
WordPress3.8.1でMy Calendarを使うとポップアップが消えない
WordPress 3.8.1
My Calendar 2.2.13
PHP 5.2.17
MySQL 5.1.58

カレンダー表示用の固定ページを新規追加をし

表示させてみた・・・



むむむ!!!

最初からイベントの詳細がポップアップで表示され、さらに「×」を押してもポップアップが消えないと言う・・・バグ??

なにこれ?!

早速、フォーラムをチェックっ!

1年前に同じ現象を投稿されている人がいるようだが・・・

http://ja.forums.wordpress.org/topic/13051

解決していないみたい・・・

う~~~~ん・・・

自力でやってみるしかないのか・・・

一つずつ原因を推測して対応。

①jQueryの競合?
いくつかjQueryを読み込ませていたので、まずは、追加したjQueryを外してみる。

 【結果】変わらず

②wp_head()、wp_footer()が抜けている?
「wp_head()、wp_footer()がそれぞれ入っていないとポップアップ等がうまく動作しない」と指摘がありましたので、header.phpとfooter.phpを確認

 【結果】footer.phpに wp_footer(); が抜けていたので追記したが・・・ 変わらず

③最終手段!ポップアップのjQueryを作り直す

 【結果】とりあえず、希望する動作に!

【詳細画面が閉じている状態】


【イベントをクリックした状態】

ちゃんと「×」で、ポップアップが消えました!

修正したのは、2ヵ所!
①ヘッダー内に<style></style>が追加されるので、それを削除
";
 my-calendar-core.php 内 212行目~219行目までを削除
 ※219行目の「”;」は、残しておく

②新たにjqueryを追加

 my-calendar-output.pnp 内 my_calendar_draw_event() 内 169行目にポップアップを制御するjQueryを追加

if ( $details === false ) {
    // put together address information as vcard
    if (($display_address == 'true' || $display_map == 'true') ) {
        $address .= mc_hcard( $event, $display_address, $display_map );
    }
    // end vcard
    // ここにjQueryを追加
echo "";
    // ここまで

とりあえずの対応でしたが、うまく動作しました!

いろいろ突っ込みどころがあるかと思いますが・・・

追記
別サーバでWordPress3.8.1とMy Calendarを試してみたのですが、普通に動作しました・・・。
こちらのサーバに原因があるのかな
あなたのホームページを無料診断します!ホームページ診断
WEBデザイナー&プログラマー求人募集
正当なCSSです!
レスポンシブデザインテンプレート販売サイトEC|TEMPLATES
TOP