サポート » プラグイン » カレンダーのプラグイン

  • yukiyuki

    (@yukiyuki)


    カレンダーのプラグインについて質問させてください。

    現在、WordpressのプラグインでGoogleカレンダーのようなものは無いか探しています。
    日付に対する”予定のタイトル”が一目でわかるようなものが良いと思っています。
    その予定をクリックすると、該当の記事へ飛ぶようなものをイメージしています。

    カレンダー本体の下に予定が一覧表示されるようなものはいくつか見つけたのですが、Googleカレンダーのように日付に対して予定が書かれているようなものが見当たりません。

    サイドバーで使用するわけではないので、それなりの大きさのものでも構いませんので、プラグイン、またはPHPなどで実現できそうなものがあればご紹介ください。

    よろしくお願いします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • kz

    (@kz)

    WordPress 2.9.1

    functions.php に

    function my_get_calendar(){
      ob_start();
      get_calendar();
      $output = ob_get_contents();
      ob_end_clean();
    
      if(preg_match_all('@<td><a href="' . get_option('home') . '/(\?m=)?([^"]*?)" title="([^"]*?)">[0-9]+?</a>@i', $output, $matches)){
        foreach($matches[0] as $key => $match){
          $date  = preg_replace('@/@', '', $matches[2][$key]);
          $year  = substr($date, 0, 4);
          $month = substr($date, 4, 2);
          $day   = substr($date, 6, 2);
    
          global $wpdb;
          $posts = $wpdb->get_results("SELECT ID, post_title "
            . "FROM $wpdb->posts "
            . "WHERE YEAR(post_date) = '$year' "
            . "AND MONTH(post_date) = '$month' "
            . "AND DAY(post_date) = '$day' "
            . "AND post_type = 'post' AND post_status = 'publish' "
            . "ORDER BY post_date DESC"
          );
    
          $link = '';
          foreach($posts as $post)
            $link .= '<a href="'. get_permalink($post->ID) . '">' . $post->post_title . '</a>';
    
          $output = preg_replace('@' . preg_quote($match) . '@', $match . $link, $output);
        }
      }
      return $output;
    }

    カレンダーを表示したいところで
    echo my_get_calendar();

    スタイルは table#wp-calendar 以下の要素をお好みで指定すれば OK。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「カレンダーのプラグイン」には新たに返信することはできません。