方法はいろいろありますが、もっとも単純なのは、投稿の内容に特定のキーワードをいれると、それを公開日時へ置換させることかなと思います。
以下は、@@@date@@@ を公開日時(年月日)に置換するというコードです。
年月日以外に秒まで表示したければ、
$post_date = get_the_date(“Y-m-d”, $post->ID);
を
$post_date = $post->post_date;
でいけます。
1. テーマの functions.php (外観 > テーマ編集より)に下記のコードを追加します。
function my_the_content_action( $content ) {
global $post;
if($content){
$post_date = get_the_date("Y-m-d", $post->ID);
if(preg_match("/@@@date@@@/", $content)){
$content= str_replace('@@@date@@@', $post_date, $content);
}
}
return $content;
}
add_action( 'the_content', 'my_the_content_action' );
2. 投稿の本文に公開日時をいれたい場所に
@@@date@@@
を記述する。
kimipooh様
ご返答いただき、誠にありがとうございます。
おかげさまで実装することができました。
ご丁寧な解説、嬉しく思います。
もう一点、ご存知であれば教えていただきたいのですが、
post-expiratorというプラグインを用いて作成しております。
用途としては公開期限を設けているためです。
こちらも可能であればサイト上に反映させていきたいのですが、
どのように記述すれば反映されるかご教授願えますでしょうか?
何度も申し訳ございませんが、よろしくお願い致します。
おおー、便利そうなプラグインを示していただきありがとうございます。
これ使えますね!
さて、コードをチェックしているとショートコードが用意されています。
[postexpirator dateformat=”Y-m-d” timeformat=”H:i:s”]
のように使ってみてください。このフォーマットについては
日付と時刻の書式(WordPress Codex日本語版)
が参考になります。
お示ししたのは、 YYYY-MM-DD と年月日表示で、時:分:秒 をつけるっていうものです。
このオプションのデフォルト([postexpirator] だけにした時、設定 > Post Expiratorの Defaults の Data Format と Time Formatになります。
kimipooh様
返信遅くなってしまい、申し訳ございません。
教えていただいたショートコードを用いたところ実装することができました。
拙い文章で問題点を汲み取っていただき、また途中からトピ違いにも関わらずご教授いただき誠に感謝しております。
引き続き、わからない点がでてきた際はトピを立てさせていただこうと思います。
その際は、お力添えいただければ幸いです。
以上、よろしくお願い致します。