ATNDのURLをコピペするだけでイベントを記事に挿入できるWordPressプラグイン

リリースパーティだとか、キャンプだとかビーチだとかベンチだとか、夏になってからイベントが盛りだくさんの今日この頃。

リクルートさんがやってるイベント開催支援ツールATNDに登録されたイベントのURLをコピペするだけでWordPressの記事内に表示出来ちゃうというイベント主催者様御用達のプラグインを作りました。

まだアルファ版レベルなので、仕様変更があると思いますので、ご理解いただける方のみご利用ください。

使い方

  • ATNDのイベントのパーマリンクをコピーしてWordPressのエディター上にペーストしてください。
  • あとは、保存ボタンをクリックするだけです。
  • CSSは自力でご用意下さい。

仕様

  • イベント用のデータはATND APIから取得しHTMLを生成したあと、3600秒キャッシュします。
  • キャッシュ時間はURLの末尾にhttp://atnd.org/events/9999#6000のようにハッシュリンクで指定できます。
  • テンプレート及び時間のフォーマットにはフィルターフックがありますので、テーマのfunctions.phpなどでカスタマイズできます。
    • atnd_template – テンプレートのフィルターフック
    • atnd_date_format – 日時のフォーマットのフィルターフック

今後について

以下の機能を実装した後、公式ディレクトリに登録します。

  • Googleカレンダーに登録するためのリンクを設置
  • その他のAPIとのマッシュアップ(最寄り駅の表示とか)

このバージョンをダウンロードした方でも、公式ディレクトリ掲載後は自動アップデートが適用されます。

あとフィードバックを募集中です。

HTMLの改善案とかこれとマッシュアップしたら便利だよとか。大歓迎します。

ダウンロード

アルファバージョンをダウンロード

サンプル

ATND上のデモイベントを以下に掲載しています。デモイベントに登録された内容がh1から始まったりしてるので、ちょっとバランスが変です。

ATNDデモイベント(タイトル)

このイベントはATNDのデモです。実際に開催されることはありませんが、自由に参加/キャンセルをしてみてください(サブタイトル)

SAMPLE: イベントの概要を編集しましょう。

ここでは通常のHTMLの他、 Textile記法 でも記述することができます。

Textile記法について

Textile記法では、*太字* や 斜体取消線 など、HTMLを使わずに簡単に書くことができます。

うまく動かない場合は、記号の前後に半角スペースが入っているかを確認しましょう

  • 箇条書き
    1. でも
    1. 書くことが
  • できます

記法については、 こちら を参考にしてください。

プレビューについて

概要のプレビューについては PREVIEW ボタンを押してみてください。グレー地部分に変換内容が表示されます。

タイムテーブル

時間 発表者 タイトル
19:00 – 19:30 Aさん Aについて
19:30 – 20:30 Bさん Bについて
20:30 – 21:00 Cさん Cについて

場所

MTL(デモ)
住所: 東京都中央区銀座7-2-6 リクルートアネックス1ビル B1F(デモ)

講演概要

Aについて
  • 出演
    • Aさん
    • 概要
  • 「A」の生まれた背景・概要・利点などの紹介

Bについて
  • 出演
    • Bさん
    • 概要
  • 「B」の生まれた背景・概要・利点などの紹介

日時2012年05月31日15時00分 - 2012年06月01日14時30分
参加者 / 定員48名 / 48名 (補欠者: 836名)
会場MTL
住所東京都中央区銀座7-2-6 リクルートアネックス1ビル
URLhttp://atnd.org/
主催者knjko
更新2012年03月23日03時12分

 

WP Total Hacks 0.3.0

WP Total Hacksをアップデートしました。

更新内容

  • 保存時のメッセージが出てなかったので修正しました。
  • メディアップローダー上の「投稿に挿入」が表現がおかしかったので、「画像を選択」に修正しました。
  • 保存後にアクティブなタブが維持されるように修正しました。

というわけで、今回のアップデートも動作には影響ありません。

次回のアップデートでは、いくつかの機能の追加を行います。

しばらくアップデートが続きますが、よろしくお願い致します。

WordPressでサイドバーにバナーを設置するのに便利なImage Widgetプラグイン

WordPressのサイドバーにバナー広告みたいなのをほいほいと貼り付けるプラグインないかなーと思ってたら、便利なプラグインを見つけました。

http://wordpress.org/extend/plugins/image-widget/

せっかくなので、日本語の言語ファイルも作りましたので、以下からダウンロードしてプラグインのlangディレクトリ内に設置してください。

Image Widget 日本語ファイル

作者さんにも連絡済みなので、近日中に本家からのダウンロードファイルにも追加されると思います。

このプラグインを使用すると、画像のURLをWordPressコアのメディアアップローダーから選択して、リンクを貼るまでの手順がHTMLを書かなくても簡単に完結します。

HTMLに詳しくない人でもバナー画像をサイドバーに設置できるので便利ですよん。

指定した記事を単独で表示するサイドバーウィジェット

午前0時を過ぎたので昨日になりますが、神戸のWordBenchに参加しました。

みなさん、お疲れさまでした。

ところで、そのなかで、トップページの下の方に今後のイベントを表示したいとか、ウィジェットでやったらいいとか、そんなやりとりがありました。

実は、その解決に役立ちそうなのをすでに持っていたので、公開しておきます。

このプラグインは、URLを指定すると、その記事の投稿サムネールやタイトル、記事などを単独で表示するプラグインです。

使い道

このプラグインは単に指定された投稿またはページを単独で表示するだけです。

しかし、投稿サムネールがあればそのimgタグも出力できますので、たとえばサイドバーウィジェット上でキャンペーンなどの告知用バナーなどが、超簡単に作成できます。

HTML部分はテンプレート化していますので、様々なシーンで利用可能な優れものです。

導入手順

テーマファイル内の functions.php に以下の記述を追加してください。

register_sidebar( array(
    'name' => 'Home Widget Area',
    'id' => 'home-widget-area',
    'description' => 'The HOME widget area',
    'before_widget' => '<div id="%1$s" class="home-widget-container %2$s">',
    'after_widget' => '</div><div class="clearfix">&nbsp;</div>',
    'before_title' => '<h2 class="widget-title">',
    'after_title' => '</h2>',
));

続いて、テーマファイル内のindex.phpのhave_posts()ループの直下あたりに、以下の記述を追加してください。

dynamic_sidebar('home-widget-area');

ここまでの処理でトップページに新しいウィジェットエリアが追加されました。

あとは、本プラグインを以下からダウンロードして、インストールして下さい。

singlepost-widget

次にウィジェットの設定画面で、このウィジェットを有効化してテンプレートをゴニョゴニョすれば完成です。

イベントが完了したら、ワンタッチで削除できますので幸せですよ。

詳しい仕様

  • 投稿のIDまたはURLからその投稿に関する情報を取得します。URLが指定された場合は内部でIDに変換して、そのIDからget_post()してます。
  • サムネールのサイズはそのテーマで使用可能なサイズが自動的にプルダウンに出ます。
  • テンプレートはコンテンツ出力部分のテンプレートを指定できます。テンプレート内では、以下のような専用タグが使用できます。
    • %post_thumb% – 投稿サムネールのimgタグ
    • %class% – CSS用のクラス属性
    • %post_title% – 投稿のタイトル
    • %post_excerpt% – 投稿の抜粋
    • その他,
    • WordPressのget_post()関数を%で囲んだもの。

意味分かりにくいですかね?

でも、これは、解決策のひとつとしてとてもオススメであることは間違いありません。

わからないことがあれば、twitterで質問してくださいませ。

WP Total Hacksについて – 外観・その他編

WP Total Hacksについて今回は外観及びその他タブについてご説明します。

http://firegoby.jp/wp/wp-total-hacks

これまでの解説は以下をご覧ください。

外観

管理画面のヘッダーのロゴを変更

メディアアップローダーなどを使用して管理画面ヘッダーの左側にあるWordPressのロゴ画像を変更してください。

縦横30ピクセル以下の画像を使用することをおすすめします。

なお、まもなくリリースされるWordPress 3.2では、この部分の画像サイズが小さくなりますが、はみ出した部分は切りつめて表示されるようです。

管理画面フッターを変更

管理画面左下のフッターのテキストを変更できます。

このフッターテキストの部分はWordPress側であらかじめ<p>で囲まれていますので、改行は無視する仕様になっています。

画像も挿入することが可能ですが、WordPress 3.2では、CSSで position:absolute が指定されているらしく、高さがある画像を配置するとフッターからははみ出してしまいますのでご注意ください。

ログイン画面のロゴを変更

ログイン画面のロゴ及びクリック時のURL、リンク先タイトルを指定できます。

その他

ダッシュボードウィジェットの無効化

管理画面内のダッシュボードに配置されているウィジェットを無効化できます。

無効化したい項目にチェックを入れてください。

Webmaster権限を追加

これは私の独断と偏見でつけた機能です。

WordPressのデフォルトの「管理者」と「編集者」の中間のようなロールで、簡単に言うと「編集者」にサイドバーウィジェットやカスタムメニューなどの「edit_theme_options」を追加したロールです。

ノンプログラマーに対してある程度大きめの権限を渡す際に有効で、テーマの変更やプラグインの操作などはできません。

クライアントにデモを見せるときにサイドバーウィジェットはとても喜ばれるのですが、管理者権限を渡してしまうと「あれはしないで。」「これはしないで。」という説明が必要になりますのでクライアントにはこの権限を渡しています。

デフォルトのメールアドレスを変更

ユーザー登録時やコメントなどの通知で届くWordPressからのメールの送信者名およびメールアドレスを変更できます。

ちゃんとテストしてませんが、ContactForm7などの他のプラグインでこの部分をカスタマイズできるものと同居した場合にそなえて正規表現でチェックしています。

デフォルトの連絡先情報を削除

ユーザーの編集からデフォルトの連絡先情報を削除します。

削除したい項目にチェックを入れてください。

アップデート通知を停止

WordPressでは、アップデートがあると通知してくれますが、この機能を有効にすると管理者以外には通知が行われません。

WP Total Hacks 0.2.1

さっそくですが、アップデートです。

http://firegoby.jp/wp/wp-total-hacks

今回のアップデートでは動作に関係のある項目はありません。

しばらくアップデートが頻繁にあると思いますので、ご理解の程お願い申し上げます。

また、今回のように言語ファイルの追加のみのアップデートの場合は、このブログでは告知しないこともありますので、よろしければ@miya0001をフォローしてください。

更新内容

  • トルコ語及びロシア語の言語ファイルを追加しました。
  • 数カ所にtypoがあったので修正しました。

https://github.com/miya0001/wp-total-hacks

WordPressのテーマをプラグインから変更するためのクラス

例えばWPTouchなどのモバイル表示用プラグインでは、ユーザーエージェントを検出して、テーマファイルを一時的に変更する処理を行っています。

現在、FacebookアプリとしてWordPressを動作させるプラグインを制作し、テストしている最中なのですが、このプラグインでもfacebook APIから送信されるデータをもとにfacebook内で表示するのに最適化したテーマに切り替える処理を行っています。

firegoby – Web開発のTips

以下で紹介するクラスはこのプラグインの中で使用しているテーマを切り替えるためのクラスです。

使い方

自作プラグインの中で何らかの条件分岐を行い、その条件に従ってテーマを切り替えます。

function is_mobile() {
    // モバイル端末かどうかを判別する...など
}

if (is_mobile()) {
    new switchTheme(
        'default', // テーマのディレクトリ名
        '/path/to/wp-content/themes', // パス
        'http://example.com/path/to/wp-content/themes', // URL
    );
}

switchThemeコンストラクタには以下の引数を設定して下さい。

  1. テーマのディレクトリ名
  2. テーマのディレクトリ名が設置されているディレクトリの絶対パス。多くの場合はwp-content/themesまでの絶対パス。
  3. テーマが設置されているディレクトリまでのURL。http://からはじまるwp-content/themesなどへのURL

第二引数及び第三引数の値はプラグインのディレクトリ内になることも多いと思います。

注意

キャッシュ系のプラグインを入れている場合は誤動作を防ぐために、以下のページのようなテクニックを組み合わせて、一時的にキャッシュさせないようにすることが必要です。

http://firegoby.jp/archives/2223

TinyMCE Templates 1.2.0

WordPressのビジュアルエディターにテンプレート機能を追加するプラグイン ”TinyMCE Templates” をアップデートしました。

今回のアップデートには、ANDREA BERSIさんにご協力いただきました。

http://firegoby.jp/wp/tinymce_templates

更新内容

  • テンプレート編集用のエディターがビジュアルエディターになりました。
  • デバッグモードでプラグインをアクティベーションする際に発生する不具合を修正しました。