WP plugin: 投稿日の天気を表示 - wp-otenki
念願のお天気プラグインを導入。草稿保存時にお天気データを取得するよう 仮カスタムも。
| 機能概要 | 投稿日の天気予報データを LWWS より取得し、記事に表示。 |
|---|---|
| バージョン | 1.02 |
| 作者(web) | ひろまささま |
| 配布元 | WordPress Plugins/JSeries » wp-otenki |
| ドキュメント | 同上 |
| 動作見本 | ひろまささんの blog |
| 「ページ」対応 | - |
| 適用したWP |
|
導入手順・使い方
- 配布元に日本語で書かれているので省略。
- LWWS のデータは、当日付けの記事を 公開 するときに取得される。
- お天気を表示するコード
<?php do_action('wp-otenki'); ?>*1 は、テーマの次の2箇所に挿入してみた。アーカイブ(リスト・展開表示とも)・検索結果ページは非表示。- index.php
- single.php にインクルードされる 記事メタ表示ファイル
仮カスタムメモ
- 実はぼのは、さくっと記事のドラフトを保存しておいて、後で文章を整え、バックデイトで投稿、というパターンが多いのです。。。そう、過去日付で公開するのでは、お天気データを取得できないのだ。
- 一旦公開してから草稿に戻せば、データは取得できるけど、毎回それをするのも・・・。
- そこで、php 初心者にもかかわらず 改造を試みる……。暴挙!(^^; *2
- 普段から、ドラフト作成時に投稿日時を保存(タイムスタンプを編集にチェック)しているので、日付チェックは問題ない。
wp-otenki.phpのadd_action('publish_post', array(&$wpotenki, 'actionOtenki'));を'save_post'にしてみた。
- 一応、草稿保存時にお天気データを取得できるようになったけれども、
save_postのタイミングでいいのか不安だし、当日中は、記事を保存する度にお天気データを取得しにいってるっぽい。くすん。(・;) これを直さないとだ。
未来日投稿 追記
2007.3.21: コメント欄にて説明。
参考資料
- hiromasa.zone :o) » WordPress プラグイン作成時のノウハウ
- WordPress Codex » Plugin API
wp-includes/functions-post.php



panser :
3 月 20th, 2007 at 1:25
はじめまして!
以前から時々貴サイト拝見させて頂いていました。
すごく丁寧に解説されているので
愛読させて頂いております。
当初私自身、天気表示されないので悩んでいました。
そうしましたらよく解説を読んでみると
過去記事、記事修正などは天気表示されないと注意書が明記されていました。
私自身も記事修正、過去時間などで投稿することが
あるので天気表示がされないようなので少し残念に思っています。
記事修正、過去記事でもお天気表示されれば
いいのになぁと感じました。
ぼの :
3 月 20th, 2007 at 1:48
panserさん、はじめまして。見てくださってありがとうございますー。
さっきちょうど、ひろまささんのサイトの panserさんの書き込みを拝見していました。
記事の投稿日付=現在の日付 のときは、上手く表示されるようになりましたか?
ひろまささんが今ちょうどお忙しそうなので、私でもよかったら相談に乗りますので、何かあれば声かけてくださいね。(^-^
過去日付投稿は、記事に書いたようにカスタマイズして、その日に草稿保存しておくことでお天気を取れています。
迷った
save_postの件も、これでオッケーとのことでした。panserさんの WP が 2.0.x 系であれば、直し方をお教えできるのですけれど。。
ぼの :
3 月 20th, 2007 at 1:55
ちなみに、配布元にある
ですが、WP 2.1.x では、未来日投稿のお天気は取得できるようになったそうです。(^^
参照: WP: 使っているプラグイン WP2.1 対応リスト - ひろまささんコメント
panser :
3 月 20th, 2007 at 16:12
ご親切にありがとうございます。
あれからエントリー更新していないので現在正常に表示できるのか確認できておりません。
(恐らく正常に表示できないように思われます。)
それで記事拝見させて頂きとりあえずコード修正しました。
これで過去記事、記事修正した後も天気表示されるのかな?
ちなみに現在WP2.1.2を使用しております。
後少しわからない点は、未来日投稿時にするための修正方法及び
「その日に草稿保存しておくことでお天気を取れています」の
草稿保存の意味が充分理解できておりません。私の理解力の問題だと思います。すみません。
またお手すきの時でもアドバイス頂ければ幸いです。
ぼの :
3 月 22nd, 2007 at 0:35
サイトを拝見したら、天気が表示できていますね。おめでとうございますー。
他のプラグインのときもそうなのですが、カスタマイズは、オリジナルのまま正常に動作できてから、その後にしたほうがいいですよ。上手く動かないとき、設置自体の問題なのか、カスタマイズで不具合が出たのか、原因が分からなくなっちゃいますよね?
未来日投稿の場合:
WP2.1 以降では、未来日当日に記事のステータスが「公開」に切り替わるようになったようで、その際に天気データを取りに行き、記事に表示されます。
なので、普通に未来日付で投稿しておくだけでオッケーです。
プラグインの修正は不要です。
詳しくは、こちらでひろまささんが説明してくださってます。(^^
過去記事についてはまた後で。。
ぼの :
3 月 22nd, 2007 at 1:35
panser さんは、「今日の分の記事は明日書こう」というように、「あらかじめ過去記事を書くことが分かっている」場合はありますか?
私は、投稿日付としたい日のうちに記事データだけ作って(←これが「その日に草稿保存」です)、天気を取得しておく、ということをしています。
この時点で天気データを DB に保存済みなので、後は、一日後に公開しても一ヶ月後に公開しても、天気が表示されます。
後日になってから、過去日付の記事を新規作成するのだと、残念ながら天気データは取れません。。LWWS が提供しているのは天気予報なので、過去分の天気データは消えてしまっているからです。
カスタマイズは何のためかというと。。
元々のプラグインでは、記事を「公開」(’publish_post’)するときにだけ、天気を取りに行きます。
これを、「草稿」保存のときにも(’save_post’)天気を取りに行くように変更しました。
このような使い方でよければ、プラグインをカスタマイズした状態で次のように試してみてください。
その日のうちに、記事作成画面でタイムスタンプの編集にチェックを入れて、[保存して編集を続ける] ボタンをクリック(または草稿保存)します。記事のタイトルや中味は書かなくて大丈夫です。
WP2.1.2 でも同じカスタマイズでいけるか未確認ですが、上手くいけばこのときに天気データが取れます。
カスタムフィールドに、キー「wpotenki」というデータが出来ていればオッケーです。
3.22: 少し文章を直しました。でもまだ分かりにくいかもです。。(^^;