Techismは時刻表記が無くしかもphp the_timeが使用できない仕様っぽい
調べたら日時や時刻の表記をユーザー定義関数で行っているらしい
関数名は techism_posted_on()
これを各phpの表示したい個所に挿入すれば
日付と時刻両方が挿入されるっぽいことが分かったので弄るんだけど
techism_posted_on() 自体の定義を行っているファイルが見当たらない
困ったときのGoogle先生にtechism_posted_on()で聞いてみると
TechismのソースがGithubに公開されていた
どうやらカスタム用の tag.php というのがincという子フォルダにあって
そいつを弄れば良さそう (/wp-content/themes/techism/inc の中)
で中身を見ると以下のような techism_posted_on() に関する表記を発見
function techism_posted_on() {
printf( __( 'Posted on <a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date updated" datetime="%3$s">%4$s</time></a>', 'techism' ),
esc_url( get_permalink() ),
esc_attr( get_the_time() ),
esc_attr( get_the_date( 'c' ) ),
esc_html( get_the_date() )
);
}
最初は読んでもなんのこっちゃと言う感じだが
<time class=”entry-date updated” datetime=”%3$s”>%4$s</time>
と書かれている場所が怪しいので調べるとWordPressの掲示板に
これに関する話題が上がっていたので理解できた
%4$sとか書いてるところが重要らしい
どうやら124行目から見て
%4$s なら上から4番目のesc_html( get_the_date() )
%2$sなら上から2番目のesc_attr( get_the_time() )
が適用されるとのこと
*esc_htmlなどのコードはセキュリティ対策で
危険なコードを実行されないようにする設定らしい
日本語などを含む場合は esc_html
それ以外は esc_attr
というわけで %4$s とある場所を %4$s %2$s などにするとよい
*get_the_date() はWordPressの一般設定の日付のフォーマット
get_the_time()は時刻のフォーマット設定を参照しているので
表示のカスタムはそちらを弄るようにする
一応最終的な設定後の内容はこちら
function techism_posted_on() {
printf( __( 'Posted on <a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date updated" datetime="%3$s">%4$s %2$s</time></a>', 'techism' ),
esc_url( get_permalink() ),
esc_attr( get_the_time() ),
esc_attr( get_the_date( 'c' ) ),
esc_html( get_the_date() )
);
}
これで時刻表記ができるようになった
WordPressにもいろいろな記述方法があって今回はいい勉強になった






コメントを残す