1日に複数記事を書いている場合、トップページなどの記事一覧などで使用すると、同一日付の場合は最初しか表示されません。
たとえば、タイトルの下に投稿日付を必ず入れるレイアウトにすると、同じ投稿日だと2つ目の投稿日付だけ表示されないということが起こります。
それを解決する一つが以下の方法です。
javascriptで日付の値を保存しておいて、<data:post.dateHeader>が値を返さないときはその値を利用して表示するという方法です。海外テンプレートなどでは初めからそういうロジックが入っているものがあります。
しかし、Bloggerの標準テンプレートからカスタマイズする人は悩むと思うので記事にしました。
■修正前
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><span><data:post.dateHeader/></span></h2>
</b:if>
■修正後<b:if cond='data:post.dateHeader'>
<script type='text/javascript'>
var dateHeader = "<data:post.dateHeader/>";
</script>
</b:if>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><span><data:post.dateHeader/></span></h2>
<b:else/>
<h2 class='date-header'><span>
<script type='text/javascript'>
document.write(dateHeader);
</script>
</span></h2>
</b:if>
その他の方法
・Bloggerの投稿日の難点(1日2件以上の記事) ~ マルカジリます。<data:post.timestamp/>を使用する方法です。
スポンサーリンク
コメント一覧
名前:universe :
kuroさん度々のコメント失礼します。m(__)m
投稿日付をすべての記事に入れる方法ですが、
私のテンプレートでは<h2タグでhなく、_<)
私のテンプレートではできないのでしょうか?
以下私のテンプレートでのタグ
↑
これは、
もしかしたら表示されないかもしれません≦(._.)≧
どうしたら私のテンプレートで投稿日をすべての記事に表示させることができるのか教えて頂けないでしょうかm(__)m。m(__)mm(__)m。
何卒よろしくお願い申し上げます。
2013/05/18 08:05
名前:universe :
追伸)
<h2ではなく、
<pタグです。
2013/05/18 08:06
名前:管理人 :
コメントありがとうございます。
コメント欄に書かれたHTMLタグは自動で削除されるために管理者でも読めません。以下は想定で書いてます。
・以下のコードで確認しました
・Bloggerの標準テンプレート
・テンプレートの「バックアップ/復元」でファイルを直接編集
■変更前
<p class='date-header'><span><data:post.dateHeader/></span></p>
■変更後
<b:if cond='data:post.dateHeader'>
<script type='text/javascript'>
var dateHeader = "<data:post.dateHeader/>";
</script>
</b:if>
<b:if cond='data:post.dateHeader'>
<p class='date-header'><span><data:post.dateHeader/></span></p>
<b:else/>
<p class='date-header'><span>
<script type='text/javascript'>
document.write(dateHeader);
</script>
</span></p>
</b:if>
2013/05/18 09:48
名前:管理人 :
■
おそらく、記事を参照された時と違うと思います。
WPの自動変換?に引っかかっていたようです
■
コメント欄にHTMLタグを書き込むには
HTMLエンコードを行った後に書き込むと書き込めます。
HTML エンコード & デコードツール
http://www.benricho.org/moji_conv/html_tag_encodedecode.html
2013/05/18 09:53
名前:universe :
管理人様、いつも本当にありがとうございます。m(__)mm(__)m
早速ですが、
管理人様の記載されたコードを記述で見事表示されました。
ありがとうございます。
ですが、
私も、h2をPに置換すればいいのかと思って同じコードで試してみたのですが、
私が置換した(つもり?)のものでは全ての記事に日付が表示されませんでした(??)
何が違うのかhttp://mergely.com/でも異なるところを確認したりしてみたのですが、
異なるところがスペースの数や位置のみで
それらを全く同じにしても私が置換したつもりのコードでは表示されませんでした(´;ェ;`)(>_<)
WPの自動変換?に引っかかるのでしょうか}スペースの数なども??
こちらが私の置換したつもりのコードです。
↓
<b:if cond='data:post.dateHeader'>
<p class='date-header'><span><data:post.dateHeader/></span></p>
<b:else/>
<p class='date-header'><span>
<script type='text/javascript'>
document.write(dateHeader);
</script>
</span></p>
</b:if>
そして、
以下が、
管理人様の記載して頂いたコードです。
↓
<b:if cond='data:post.dateHeader'>
<p class='date-header'><span><data:post.dateHeader/></span></p>
<b:else/>
<p class='date-header'><span>
<script type='text/javascript'>
document.write(dateHeader);
</script>
</span></p>
</b:if>
どこに違いがあるのかさっぱりわかりません…。
管理人様の記載して頂いたコードを直接編集しなくても、
HTML編集画面から
普通にコピペで見事表示されました。
ありがとうございました。
早速備忘録として記事にさせて頂いてもよろしいでしょうか。≦(._.)≧
2013/05/18 11:07
名前:管理人 :
■正しい(現在の記事の内容)
<data:post.dateHeader/>
■間違い(以前の記事の内容)
<data:post.dateHeader><data:post.dateHeader/>
記事に
<data:post.dateHeader/>
と書いてしまうと
WPの場合?
(以前の記事の内容)のように表示されてしまいます。
もし、以前の記事をそのままコピペして使うと動作しません
2013/05/18 12:11
名前:universe :
管理人様、
度重なるコメントありがとうございます。m(__)m
なるほど、そういうことなのですか!!
すでに、
上記のコードも修正済みってことですね!?
ところで、記事にさせて頂いてもよろしいでしょうかm(__)m
2013/05/18 12:45
名前:管理人 :
>ところで、記事にさせて頂いてもよろしいでしょうかm(__)m
どういう意味で書かれているのか私にはちょっとわからないのですが
各自の判断に任せていますというのが直接の答えになるかと思います。
私自身の話を書くと、
覚書の一環として書くときに、ソースをそのままとか、少し改変したものを乗せてよいかの判断に
迷うことがあります。
リンクだけだと、その記事がなくなると困ることになるのも確かです。
ソースコードの場合は、引用するのが難しいという面もあるのも確かだと思います。
今回の場合は、単純すぎて、ソースコード自体の著作権はないのに等しいと思います。
そういう問題があるために、私の場合は、
アレンジして機能追加してみたり、ロジックを少し変えたりして、参考にした記事のリンクとともに載せるようにしています。
的外れな回答でしたらゴメンナサイ。
2013/05/19 22:37
名前:universe :
管理人様、返信ありがとうございます。m(__)m
以下URLにて記事として公開しましたのでご報告と、
もし、何か不都合な面がありましたら編集もしくは削除致します。
その際はコメントもしくはメールにてお願い致します。
http://sekirarablog.blogspot.jp/2013/05/AllPostsDate.html
2013/05/20 20:23
名前:管理人 :
ご丁寧に、報告ありがとうございます。
確かに、Bloggerのテンプレートって
コピペして、動作しないってことが結構ありますね。
ブログを読み限りは動作してそうなんだけど、自分のところだと動作しないとか・・・・。
2013/05/20 20:46