Lesson Schedulerの使い方

こちらのページでは、WordPress用練習出欠管理プラグイン「LessonScheduler」の使い方について、詳細を説明します。

機能について

LessonSchedulerプラグインは、その名の通り、クラブや部活など、所属している団体の練習日程を作成できること、その日程に対して、ログインメンバーが出欠を登録できること、それらをショートコードで簡単に固定ページに表示できるのが特徴です。

以下は、使った時のイメージです。

練習日程登録画面

練習日程登録画面

 

練習日程を登録する際には、よく使う練習場所、練習時間を登録しておけば、選択するだけで登録できるので、日々の更新作業が楽に行えます。

練習場所、時間登録オプション画面

練習場所、時間登録オプション画面

登録した練習日程や、メンバーの出欠状況は、ショートコード[lesson scheduler]を組み込むことで、固定ページ等に表示することができます。

ショートコード登録

ショートコード登録

Twentytenでの表示サンプルはこんな感じです。

表示サンプル

表示サンプル

尚、日程、場所、時間のみ、ログインしていなくても参照できるので、外部の方に見てもらうこともできます。

バージョン1.1.0より、モバイル用画面を提供しました。設定画面で、「’used mobile phone mode」をチェックすると、モバイル用の表示になります。WPtouchなど利用している場合は、チェックしてみてください。以下のような画面が表示されます。

 

プラグインの使用方法

  1. ダウンロードしたファイルを解凍します。
  2. できたlesson-schedulerフォルダを、wp-content/plugins ディレクトリ以下に、すべて置きます。
  3. 管理画面から、lesson-schedulerを有効化します。

 

動作確認

WordPress3.1.4で動作確認しています。また、テーマはtwentytenで確認しています。

バージョン

1.1.6

  • ダッシュボード上でlessonschedulerの登録データが参照できなくなる障害に対応しました。

1.1.5

  • 練習日でのソートがうまくいっていないので修正しました。
  • 過去の練習日を出さない場合は、直近の練習日から出すようにしました。

1.1.4

  • from actionに、自分のURLを渡すようにしました。

1.1.3

  • _x関数に対し、第2引数を渡すよう修正しました(詳細はコメント欄参照)。

1.1.2

  • アップロードに失敗したので欠番です。

1.1.1

  • jQueryを呼び出す際にの引数に$を追加しました。
  • その他こまかいバグを修正しました。

1.1.0

  • モバイル用ページを用意しました。
  • 固定ページにて、出欠を更新した場合に、みんなの出欠状況に反映されないバグに対応しました。
  • 日程を10件以上登録した場合に、古い練習日のナビゲーションがでないバグに対応しました。

1.0.1

  • readme.txtを更新しました。
  • 公式ページにヘッダー画像を追加しました。

1.0.0

  • リリースしました。

免責事項

本ソフトウェアを使用した事による、いかなる損害も作者は一切の責任を負いませんので、自己責任の上でご使用下さい

Lesson Scheduler

 

もともとは、自分が管理している吹奏楽団体のページ用に作っていたのですが、せっかくなのでプラグイン化してみました。よければ使ってみてください~。

尚、バグ、要望などがありましたらフォームより連絡いただければ、可能な限りは対応させていただきますが、なにぶん夜中の作業がメインなので対応は遅くなります。

 

“Lesson Schedulerの使い方” への32件のコメント

  1. T より:

    Lessonschedulerを試させていただきました。
    が、以下のエラーになりました。
    WP_DEBUG はfalseです。
    パスは伏せます。

    Warning: Missing argument 2 for _x(), called in (xxx)/plugins/lesson-scheduler/lesson_scheduler.php on line 38 and defined in (xxx)/wp-includes/l10n.php on line 232
    Call Stack
    # Time Memory Function Location
    1 0.0005 345424 {main}( ) ../post-new.php:0
    2 0.0016 419076 require_once( ‘ (xxx)/wp-admin/admin.php’ ) ../post-new.php:10
    3 0.0020 435548 require_once( ‘ (xxx)/wp-load.php’ ) ../admin.php:30
    4 0.0023 447792 require_once( ‘ (xxx)/wp-config.php’ ) ../wp-load.php:29
    5 0.0033 534352 require_once( ‘ (xxx)/wp-settings.php’ ) ../wp-config.php:98
    6 0.9835 29147384 do_action( ) ../wp-settings.php:347
    7 1.1097 29717036 call_user_func_array ( ) ../plugin.php:429
    8 1.1097 29717052 create_lesson_schedules( ) ../plugin.php:429
    9 1.1097 29717108 _x( ) ../lesson_scheduler.php:38

    以下の行にも同様のエラーです。
    9 1.1097 29717108 _x( ) ../lesson_scheduler.php:39
    9 1.1118 29719672 _x( ) ../lesson_scheduler.php:41
    9 1.1126 29719784 _x( ) ../lesson_scheduler.php:42
    9 1.1137 29719892 _x( ) ../lesson_scheduler.php:43
    9 1.1145 29719996 _x( ) ../lesson_scheduler.php:44
    9 1.1157 29720108 _x( ) ../lesson_scheduler.php:45
    6 2.0925 35839112 _x( ) ../lesson_scheduler.php:98

  2. T より:

    追加)
    環境について書くのを忘れました。
    OS:CentOS6.5 Webサーバ:Apache/2.2.22 (Unix) PHP/5.3.10
    DB:MySQL5.0.96 Wordpressバージョン3.8.3 (Twenty Twelve テーマ)

  3. teru03 より:

    Tさん、こんばんは。
    お試しいただき、ありがとうございます。

    見た感じ、_x関数でエラーになっているようなので、文字コードが関連してるかもしれないですね。
    ちょっと時間かかるかもしれませんが、調べてみます。

    • T より:

      私はスイミングクラブ運営にかかわっていて、
      サイトを作ろうと思っています。
      このプラグインも活用できるとおもっていますので、
      ぜひ、よろしくお願いします。

  4. T より:

    _x関数の仕様が良く分からないのですが、
    (”コンテキスト”の意味が不明なので)
    2番目の引数に1番目の引数と同じものを入れたら、
    とりあえず動作しました。
    同じものを入れていいものかどうかはわからないので、
    ご教授ください。

  5. teru03 より:

    スイミングクラブ運営で利用されるんですね。ご期待に添えればうれしいです。

    _xは翻訳関数で、第1引数の文字列を、第3引数で渡した翻訳ファイルを元に翻訳してくれるものです。
    今回、_xを利用しているところは、翻訳用意していなかったので、第2引数以降は省略していたのですが、基本的には第2引数までは必須のようで、環境によってうまくいったり、エラーになったりしてしまうようですね。いろいろ調べていただきすいません。

    第2引数は、おそらく第1引数の補足みたいな感じで、なんでもよさそうですので、取り急ぎそのままでも問題なさそうです。

    この後、バージョン1.1.2にあげますので、切り替えてお使いいただければと思います。対応内容としては、Tさんの対応と同じになりますので。

  6. T より:

    素早い対応ありがとうございます。
    アップデートいたします。

  7. T より:

    公開された1.1.2は構成が違うようですが。。。
    これってインストールできますか?

  8. T より:

    公開された1.1.2は構成が違うようですが。。。
    これってインストールできますか?

  9. teru03 より:

    失礼しました。
    久々のアップだったので、フォルダ間違えてしまいました。
    しかも、1.1.2の削除方法もわからず・・・
    1.1.3でアップしてますので、今度こそどうぞ。

  10. bird より:

    Lesson scheduler(1.1.3)をインストールしました。
    はじめまして、
    テニスサークルを運営している者です。
    よろしくお願いします。

    返信するボタンを押すと
    ——————-
    見つかりません
    リクエストされたページが存在しません。検索で見つかるかもしれません。
    ——————-
    となってしまいます。

    Lesson schedulerのインストールはWordPressのプラグインから新規追加で行いました。

    素人なのでよくわからないのですが
    MySQLデータベース:wordprssの中にLesson schedulerのテーブルを発見できませんでした。

    WordPress 3.9.1(Twenty Ten テーマ)
    PHPバージョン5.4
    サーバ: Localhost via UNIX socket
    Server type: MySQL
    サーバのバージョン: 5.1.50 – Source distribution
    プロトコルバージョン: 10
    サーバの文字セット: UTF-8 Unicode (utf8)

    • teru03 より:

      bird様。

      こんばんは。お試しいただき、ありがとうございます。
      返信でエラーですか。通常は自分のページに帰ってくるはずなんですが、formのactionが空になっているのがもしかしたら問題かもしれません。
      ちょっと調べてみますので、少々お待ちいただけますでしょうか?

  11. bird より:

    お返事ありがとうございます。

    とても使いやすそうな出欠登録なのでお待ちしています。

    宜しくお願い致します。

  12. bird より:

    お世話になります。

    プラグインを1.1.4にアップデートしましたが変化ありませんでした。

    • teru03 より:

      1.1.4では、formのaction属性に自分のURLを入れてみたんですが、ダメでしたか?
      ちなみに、返信するの時のURLと、エラーになったときのURLって違ってますか?

      • bird より:

        お世話になります。
        返信のURLはwordpress/?page_id=266
        エラー表示URLもwordpress/?page_id=266
        ですがメニューの固定項目の点灯は消えていて、
        下記の表示のみになります。
        ——————-
        見つかりません
        リクエストされたページが存在しません。検索で見つかるかもしれません。
        検索用のテキスト入力ボックスと検索ボタンが表示されます。
        ——————-
        メニューの固定項目をクリックすると
        もとに戻るのですが
        出欠登録はされていません。

        以上はバージョン1.1.3のときと全く同じ状況です。

        http://birdlives.jp/wordpress/?page_id=266

        で状況を確認いただけます。

        宜しくお願い致します。

      • bird より:

        追伸
        メニューの固定項目名は
        「練習参加登録(すみませんテスト中です)」です。

        宜しくお願い致します。

  13. teru03 より:

    bird様

    こんばんは。
    ユーザーまで作成していただきありがとうございます。
    何回かログインさせていただき、試したところエラーになることは確認しました。
    (尚、その後、すぐログアウトしており、ダッシュボードなどは見ておりませんので)。

    現状では、特に問題らしきところがなく、原因はよくわかりません。。。

    もうちょっと考えてみますので、しばしお待ちください。

  14. teru03 より:

    bird様

    こんばんは。
    あれから、いろいろな環境や条件で試してみたのですが、現象が再現できませんでした。なので、手詰まり感でいっぱいです。
    ご期待に沿えず、申し訳ありません。

    もし可能であれば、以下のコードを404.phpのどこかに組み込んでみてもらえますでしょうか?

    以下組み込みコードです。

    < ?php
    global $wp_query;
    var_dump($wp_query->query_vars);
    ?>

    404.phpというのは、ページが見つかりませんを出しているソースとなり、以下にあります。

    /themes/twentyten/404.php

    これで、「ページが見つかりません」が表示される際の検索条件が以下のようにでると思います。

    array(61) { ‘page_id’ => int(4) ‘error’ => int(404) ‘m’ => string(0) “” ‘p’ => int(4) ‘post_parent’ => string(0) ・・・

    これで、多少なにかわかるかもしれません。
    ただ、これがわかったからといって解決するとは限りませんが。。。。

    もし時間があればご協力お願いします。

    • bird より:

      お世話になります。

      404.phpのいろいろな箇所に
      query_vars);
      ?>
      を組み込んで更新してみましたが
      array(61) { ‘page_id’ => int(4) ‘error’ => int(404) ‘m’ => string(0) “” ‘p’ => int(4) ‘post_parent’ => string(0) ・・・
      は出て来ませんでした。

      素人なので組み込む場所がダメなのでしょうか?

      • bird より:

        組み込みコードの始まりの int(0) ["pagename"]=> string(54) “%e7%b7%b4%e7%bf%92%e5%8f%82%e5%8a%a0%e7%99%bb%e9%8c%b2″ ["reply"]=> string(12) “返信する” ["post_type"]=> string(5) “reply” ["name"]=> string(36) “%e8%bf%94%e4%bf%a1%e3%81%99%e3%82%8b” ["error"]=> string(0) “” ["m"]=> string(0) “” ["p"]=> int(0) ["post_parent"]=> string(0) “” ["subpost"]=> string(0) “” ["subpost_id"]=> string(0) “” ["attachment"]=> string(0) “” ["attachment_id"]=> int(0) ["static"]=> string(0) “” ["page_id"]=> int(0) ["second"]=> string(0) “” ["minute"]=> string(0) “” ["hour"]=> string(0) “” ["day"]=> int(0) ["monthnum"]=> int(0) ["year"]=> int(0) ["w"]=> int(0) ["category_name"]=> string(0) “” ["tag"]=> string(0) “” ["cat"]=> string(0) “” ["tag_id"]=> string(0) “” ["author"]=> string(0) “” ["author_name"]=> string(0) “” ["feed"]=> string(0) “” ["tb"]=> string(0) “” ["paged"]=> int(0) ["comments_popup"]=> string(0) “” ["meta_key"]=> string(0) “” ["meta_value"]=> string(0) “” ["preview"]=> string(0) “” ["s"]=> string(0) “” ["sentence"]=> string(0) “” ["fields"]=> string(0) “” ["menu_order"]=> string(0) “” ["category__in"]=> array(0) { } ["category__not_in"]=> array(0) { } ["category__and"]=> array(0) { } ["post__in"]=> array(0) { } ["post__not_in"]=> array(0) { } ["tag__in"]=> array(0) { } ["tag__not_in"]=> array(0) { } ["tag__and"]=> array(0) { } ["tag_slug__in"]=> array(0) { } ["tag_slug__and"]=> array(0) { } ["post_parent__in"]=> array(0) { } ["post_parent__not_in"]=> array(0) { } ["author__in"]=> array(0) { } ["author__not_in"]=> array(0) { } ["ignore_sticky_posts"]=> bool(false) ["suppress_filters"]=> bool(false) ["cache_results"]=> bool(true) ["update_post_term_cache"]=> bool(true) ["update_post_meta_cache"]=> bool(true) ["posts_per_page"]=> int(10) ["nopaging"]=> bool(false) ["comments_per_page"]=> string(2) “50″ ["no_found_rows"]=> bool(false) ["order"]=> string(4) “DESC” }

  15. bird より:

    この掲示板はコードを入れると文字化けしちゃうみたいですね。
    組み込みコードの始まりの<の後のスペースを消したら出て来ました。

  16. teru03 より:

    bird様

    こんばんは。
    実行していただきありがとうございます!

    errorに404が入っているかと思ったのですが、空ですね。
    これを参考になんとか・・・期待せずお待ちを。

  17. teru03 より:

    bird様

    こんばんは。
    いろいろ見ていたらバグを発見したので直したのが1.1.5です。
    なので、特に問題が解決したわけではないです。。。

    上記のとっていただいたログの中身がおかしいことになっているというのはわかったのですが、
    なぜそうなるのかが不明でして。。。

    うーん、一度ページを削除して再作成しても変わらないでしょうか?
    暇があればお試しください。

    • bird より:

      1.1.5にバージョンアップしました。
      今度は、スケジュールの編集ページ(lesson schedules)に登録しているスケジュールが出てきません。(ですのでスケジュールを削除・編集が出来ません)
      すべて(3)|公開済み(3)となっているのですが
      投稿が見つかりませんでした。と表示されます。
      新規で登録しても出て来ません。

      固定ページにはすべてのスケジュールが表示されています。

      固定ページを削除して再作成しても変わらない状況です。

      再度ログを取りました。

      なんか、すみません。私だけの状況なのでしょうか?

      • bird より:

        array(63) { ["page"]=> int(0) ["pagename"]=> string(36) “%e3%83%86%e3%82%b9%e3%83%88%e4%b8%ad” ["reply"]=> string(12) “返信する” ["post_type"]=> string(5) “reply” ["name"]=> string(36) “%e8%bf%94%e4%bf%a1%e3%81%99%e3%82%8b” ["error"]=> string(0) “” ["m"]=> string(0) “” ["p"]=> int(0) ["post_parent"]=> string(0) “” ["subpost"]=> string(0) “” ["subpost_id"]=> string(0) “” ["attachment"]=> string(0) “” ["attachment_id"]=> int(0) ["static"]=> string(0) “” ["page_id"]=> int(0) ["second"]=> string(0) “” ["minute"]=> string(0) “” ["hour"]=> string(0) “” ["day"]=> int(0) ["monthnum"]=> int(0) ["year"]=> int(0) ["w"]=> int(0) ["category_name"]=> string(0) “” ["tag"]=> string(0) “” ["cat"]=> string(0) “” ["tag_id"]=> string(0) “” ["author"]=> string(0) “” ["author_name"]=> string(0) “” ["feed"]=> string(0) “” ["tb"]=> string(0) “” ["paged"]=> int(0) ["comments_popup"]=> string(0) “” ["meta_key"]=> string(0) “” ["meta_value"]=> string(0) “” ["preview"]=> string(0) “” ["s"]=> string(0) “” ["sentence"]=> string(0) “” ["fields"]=> string(0) “” ["menu_order"]=> string(0) “” ["category__in"]=> array(0) { } ["category__not_in"]=> array(0) { } ["category__and"]=> array(0) { } ["post__in"]=> array(0) { } ["post__not_in"]=> array(0) { } ["tag__in"]=> array(0) { } ["tag__not_in"]=> array(0) { } ["tag__and"]=> array(0) { } ["tag_slug__in"]=> array(0) { } ["tag_slug__and"]=> array(0) { } ["post_parent__in"]=> array(0) { } ["post_parent__not_in"]=> array(0) { } ["author__in"]=> array(0) { } ["author__not_in"]=> array(0) { } ["ignore_sticky_posts"]=> bool(false) ["suppress_filters"]=> bool(false) ["cache_results"]=> bool(true) ["update_post_term_cache"]=> bool(true) ["update_post_meta_cache"]=> bool(true) ["posts_per_page"]=> int(10) ["nopaging"]=> bool(false) ["comments_per_page"]=> string(2) “50″ ["no_found_rows"]=> bool(false) ["order"]=> string(4) “DESC” }

  18. teru03 より:

    bird様

    こんばんは。
    お試しいただきありがとうございます。
    ダッシュボード上で登録データが表示されない件はバグでしたので修正しました
    (発見ありがとうございます)。

    >なんか、すみません。私だけの状況なのでしょうか?

    うーん、なんとも言えませんが、今のところ他からは問い合わせは来てません。
    ログを見ると特に改善はしてなさそうですね。。。正直、デバッグしないとわからないレベルになってきました。
    あとは、他にもプラグインを使っていると思いますが、それらとの相性もありえますので、いくつか無効化して試してもらうくらいしかちょっと思いつくことがないですね、残念ながら。。。

    • bird より:

      他のプラグインを無効化して試しましたがだめでした。

      固有の問題であれば自分で解決するしかないですね。
      いろいろと試してみます。

      いろいろとありがとうございました。

      • teru03 より:

        bird様

        こちらこそ、いろいろやっていただいたにも関わらず、解決しなくて申し訳ないです。
        一応、今までわかったことを書いておきます。

        ・固定ページ自体は表示されているので、おそらくパーマリンクなどの問題ではない。
        ・通常、返信するを実行すると、再度同じページを読み込みにいくが、その際にページが見つからないとでる。
        ・直接的な原因は、ページを探す条件(クエリ)に、["reply"]=> string(12) “返信する” ["post_type"]=> string(5) “reply” という不正な条件が入ってしまっている。これがなぜ入ってしまうのかは不明。

        今後も、もしなにか気づくことがあれば、バージョンアップしていきたいと思いますので。

  19. にゃんぴょう より:

    吹奏楽団の出欠管理として大変便利に利用させて頂いております。ありがとうございます!
    出欠の連絡と合わせてユーザー側から一言コメント機能があれば更に嬉しいです。
    (遅刻の場合何分くらい遅刻するか…早退の場合は何時に早退するか…欠席の理由は何か…etc)

    • teru03 より:

      にゃんぴょう様

      お使いいただきありがとうございます。
      コメント機能、今後のバージョンアップで考えていきたいと思いますので。

コメントをどうぞ