このブログもライブドアブログを使っていますが、特定の記事にだけ表示したい事や非表示にしたい事ってありますよね?

たとえば、WordPressなどでは容易に設定できる「記事の先頭固定」の設定が、ライブドアブログは出来ないため、特定記事をトップページの先頭記事に固定しようと思うと、投稿日時に未来の日付を設定して強引に最上部に固定する方法があります。しかし、この方法を取ると投稿日時に未来の日付が表示されてしまい、読者に誤解意を招く可能性があります。

そんな時に、特定のページのみ日付を非表示にしたいですよね。

そこで次に紹介する方法で、HTMLの編集ページにてhtmlをカスタマイズすれば、上記のような事が可能です。ちなみに、「トップページ」「個別記事」「カテゴリーアーカイブ」「月間アーカイブ」それぞれのページについて、それぞれにhtmlのカスタマイブ項目にて編集すれば反映させる事ができます。

1、まず編集前に固定したい記事のIDを調べます。
調べ方は、記事URLを変更していない場合はURLの末端○○○○○○○○.htmlの○○○○○○○○の数字が記事IDです。

記事URLを変更している場合はその記事の個別ページのhtmlソースを表示して、キーボードの“Ctrl”と“F”を押し検索窓に“articles”と打ち込み検索すると、おおむね前半の方に「articles:○○  id:`○○○○○○○○'」という文字列を見つけられつと思います。“id”の後の8桁の数字が記事IDです。

2、トップページや個別ページなど反映したいページのhtmlから以下の項目を探し、条件分岐のための独自タグで囲い編集します。
編集前⇒
<p class="article-date">
<time datetime="<$ArticleDateISO8601$>" itemprop="datePublished"><$ArticleDate$> <$ArticleTime$></time>
</p>

例:記事IDが1234○○○○の日付を非表示にしたい場合。
編集後⇒
<UnlessArticleId eq 1234○○○○>
<p class="article-date">
<time datetime="<$ArticleDateISO8601$>" itemprop="datePublished"><$ArticleDate$> <$ArticleTime$></time>
</p>
</UnlessArticleId>

という感じです。
このほかに以下のように“If”を使えば、その特定の記事だけに表示することも可能です。
例えば公開日や更新日など。
<IfArticleId eq 1234○○○○>
更新日:<time datetime="2020-04-15T17:30:00+09:00" itemprop="dateModified">2020年04月15日 </time>
公開日:<time datetime="<$ArticleDateISO8601$>" itemprop="datePublished"><$ArticleDate$></time>
</IfArticleId>
以前の記事にも書きましたがライブドアブログは更新日時の取得ができないので、上記例の更新日の日付は手動入力です。各々で工夫してみてください。