ワードプレスでプラグインに頼らず公開日時を指定するソースを見つけたのですが、実装方法が分かりません。

どなたかご教授頂けないでしょうか?
よろしくお願いします。

function.phpにソースをコピペしてカスタムフィールドに設定している公開開始日と終了日のカスタムフィールド名を指定するところまでは分かったのですが、クラスを有効にするスクリプトをどこにどのように記述すればいいのか、labelの文字をどこにどのように指定すればいいのかが分かりません。



http://pimpmysite.net/archives/174

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/05/19 14:54:24
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:gizmo5 No.2

回答回数504ベストアンサー獲得回数141

ポイント100pt

" strtotime() で認識する日付で"とありますが、参照先の
int strtotime ( string $time [, int $now = time() ] )

int strtotime ( string $time [, int $now = カスタムフィールド名 ] )
に指定すればいいんでしょうか?

違います。

記事のカスタムフィールドで公開開始日時、公開終了日時を両方、またはどちらか一方を指定します。
日時は PHP の関数 strtotime() で認識できる書式で指定します。
WordPress 標準のカスタムフィールドでも、meta box 内に出力した input フィールドでもどちらでも動作します。

これはカスタムフィールドに入力する日付を、strtotime() 関数が認識できるフォーマットで入力しなさいということです。
フォーマットについてはマニュアルの以下のような部分を参照してください。
http://php.net/manual/ja/function.strtotime.php
http://www.php.net/manual/ja/datetime.formats.php
http://www.php.net/manual/ja/datetime.formats.date.php
yyyy/mm/dd形式は strtotime() 関数が認識できるフォーマットです。

id:kadopi

ありがとうございました。動作は確認出来てませんが私が疑問に思っていたことは解決しましたので終了させて頂きます。
ご丁寧な回答に感謝致します。
失礼します。

2014/05/19 14:56:06

その他の回答1件)

id:gizmo5 No.1

回答回数504ベストアンサー獲得回数141

こちらに使い方があります。
https://gist.github.com/pimpmywp/4405428

使い方

  1. class-pm-schedule-post.php のコードをテーマの functions.php またはプラグインファイルに貼付けるか、ファイル自体をインクルードします。
  2. how2use.php のコードをテーマの functions.php またはプラグインファイルに貼付けます。
    ※PM_Schedule_Post() の引数をお好みで指定します。
    'pubstart' .... 公開開始日時用カスタムフィールドの名前(キー)英数字推奨
    'pubend' ..... 公開終了日時用カスタムフィールドの名前(キー) 英数字推奨 '公開終了' ... 公開終了ステータスの表示用ラベル
  3. 記事のカスタムフィールドで公開開始日時、公開終了日時を両方、またはどちらか一方を指定します。
    日時は PHP の関数 strtotime() で認識できる書式で指定します。
    WordPress 標準のカスタムフィールドでも、meta box 内に出力した input フィールドでもどちらでも動作します。
id:kadopi

gizmo5さん

回答ありがとうございます。Gifhubはまだ勉強中でこのページは知りませんでした、ちゃんと見ないといけませんね(笑

甘えついでに質問させてください。

カスタムフィールドの日付はyyyy/mm/dd形式で指定しているのですが、

https://gist.github.com/pimpmywp/4405428

に掲載されている

" strtotime() で認識する日付で"とありますが、参照先の

int strtotime ( string $time [, int $now = time() ] )

int strtotime ( string $time [, int $now = カスタムフィールド名 ] )

に指定すればいいんでしょうか?

あとラベルのテキストがどこにも表示されないのは何がいけないのでしょうか?

id:gizmo5 No.2

回答回数504ベストアンサー獲得回数141ここでベストアンサー

ポイント100pt

" strtotime() で認識する日付で"とありますが、参照先の
int strtotime ( string $time [, int $now = time() ] )

int strtotime ( string $time [, int $now = カスタムフィールド名 ] )
に指定すればいいんでしょうか?

違います。

記事のカスタムフィールドで公開開始日時、公開終了日時を両方、またはどちらか一方を指定します。
日時は PHP の関数 strtotime() で認識できる書式で指定します。
WordPress 標準のカスタムフィールドでも、meta box 内に出力した input フィールドでもどちらでも動作します。

これはカスタムフィールドに入力する日付を、strtotime() 関数が認識できるフォーマットで入力しなさいということです。
フォーマットについてはマニュアルの以下のような部分を参照してください。
http://php.net/manual/ja/function.strtotime.php
http://www.php.net/manual/ja/datetime.formats.php
http://www.php.net/manual/ja/datetime.formats.date.php
yyyy/mm/dd形式は strtotime() 関数が認識できるフォーマットです。

id:kadopi

ありがとうございました。動作は確認出来てませんが私が疑問に思っていたことは解決しましたので終了させて頂きます。
ご丁寧な回答に感謝致します。
失礼します。

2014/05/19 14:56:06

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません