Wordpressで投稿やページの投稿日を表示する際the_date()を利用しますが、この関数は「1つの投稿処理に対し1度だけ結果を出力する」という仕様があります。
従って2度目以降はこの関数では表示が行えなくなってしまいます。
ではどうするのか?
the_date()にはブラウザに直接出力せず、PHPの変数に結果を戻す方法(第4引数をfalseにする)があるのでそれを使うか、もしくはthe_time()関数を使いましょう。
Wordpressでオリジナルなテーマなどを作成する際、複数のファイルで利用するような共通関数はどこに置いておくのがよいのでしょう?
ずばっと結論ですが、テーマフォルダのトップディレクトリにあるfunctions.phpに置きましょう。
(ファイルがない場合は新規で作成して下さい。)
これで全てのテーマ関連ファイルから利用することが出来ます。
Wordpressは様々な情報を取得するための関数をいろいろと用意してくれていますが、それでは対処出来ない場合はどうするか?
WPには$wp_queryというグローバル変数があり、ここにシステムに必要なほとんどの情報が入っています。
従ってこの変数の中から必要なものを直接アクセスすれば大抵は解決しちゃいますね。
var_dumpしてサンプルを置こうかと思いましたが、大きすぎるためやめときます。。。
Wordpressに限った話ではないですが、メニューなどでよく使われるマウスオーバーによる画像切替を簡単に行うためにどうするかを調査。
CSSで実現する方法もありますが、画像が多いと面倒なのでJavascriptを使うことにしました。
Javascriptでこれを実現するためのスクリプトは数多くありましたが、ソースへの追記が少なくて済むという観点で以下のものがよいなぁ~という結論に。
手軽に画像のロールオーバー効果を実装するJavaScript
prototype.js等外部ライブラリへの依存が一切無いところも良いですね。
【使い方】
1.マウスオーバーさせる部分のimgタグに「class="rollover"」を追加。
2.マウスが乗っていないときの画像をa.gifとするとマウスオーバー用にはa_on.gifというように「_on」を追加したファイルを用意する。
これだけです。
ファイルへの追加文字の規則変更等はオプションで指定できます。
とあるCMSからの移管で必要になって、投稿時間からunixtimeに変更する方法を検討。
<?php $post_time = strtotime(the_date('Y-m-d H:i:s', '', '', false)); ?>
これで変換できます。
srttotime()はphpの標準関数ですので、不明点があればphpの仕様を確認しましょう。(こちら)
似たような関数としてthe_time()がありますがこれは結果をphpに戻せないのでNGです。
最近のコメント
14年 23週前
14年 38週前
14年 38週前
17年 14週前
18年 30週前
18年 30週前