[Ha-Basic] How to automatically display a message on an article with an old update date to any location in the text

【ha-Basic】本文内の任意の場所へ自動で更新日の古い記事にメッセージを表示する方法

公開日:2019年7月11日 カスタマイズ
Knowledge Base Wordpress ha-Basic テーマ

このサイトはもちろん私が作ったテーマ【ha-Basic】を使っていて、この機能を追加してはいるのですが、まだサイトの歴史が浅いので表示される記事は一切ありません。その時が来たら・・・状態です。

さて、今回はタイトル通り、最終更新日から一定期間経過した記事へ自動でメッセージを表示する方法を紹介します。この方法で設置したものは↓の画像のようにメッセージが表示されます。
【ha-Basic】本文内の任意の場所へ自動で更新日の古い記事にメッセージを表示する方法

基本的な仕組みは

をご覧ください。

それでは早速始めましょう。

【ha-Basic】本文内の任意の場所へ自動で更新日の古い記事にメッセージを表示する方法

メッセージの準備

テキストエディタを開き、以下のコードをコピペしてください

<?php if ( date('U') – get_the_modified_time('U') > 60*60*24*180 ) { ?>
<div class="old-post-alert">
	<p>この記事は<time class="entry-date date" datetime="<?php echo get_the_date( 'Y-m-d' ); ?>"><?php echo get_the_date(); ?></time>に公開され、<time class="update date" datetime="<?php echo get_the_date( 'Y-m-d' ); ?>"><?php the_modified_date(); ?></time>に最終更新されたもので、内容が古い可能性がありますのでご注意ください。</p>
</div>
  <?php }?>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「’」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします

「modday-alert.php」というファイル名+拡張子名で保存してください。
※この際文字コードを「UTF-8 BOMなし」にしないと動作しないので注意してください

文字コード?という方はこちら

ファイルができたらテーマフォルダへアップロードしましょう。

次に「a-insert-css.css」をテーマ編集(テーマエディタメニュー)から開き、以下のCSSコードを追記します

/****** 古い記事のお知らせ ******/
.old-post-alert {
    background-color: #feffd9;
    border: 1px solid #ffdc00;
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 20px;
}
.old-post-alert p {
    margin-bottom: 0px;
}

これで前準備は完了です。

任意の記事へ自動的にメッセージを表示させたいときは

本文内へショートコードを挿入することで自動メッセージ機能が働くようになります。

挿入するショートコードは

[myphp file='modday-alert']
です。

ショートコードで任意の場所へ入れられるようにしたのは

  • 全部の記事に表示されてしまうと普遍的な記事では不適切な表現となることがある
  • テンプレート上では本文の上(下)にしか表示できないので、あまり効果的ではなさそう

なので。もしも全部の記事に適用させていいよ!という場合には↓の方法で設置してください

全部の記事へ自動的にメッセージを表示させたいときは

テーマ編集から「single.php」を開きます

37行目付近にある

<!–本文取得–>
というコメントの上に以下のコードを挿入します
<!–古い記事に対する案内–>
<?php echo do_shortcode("[myphp file='modday-alert']"); ?>

また通常のPHPコードである

<?php get_template_part('modday-alert');?>
を挿入しても動作します。

ひまあーと(管理人)
  • 記事の作者: ひまあーと(管理人)

  • ☆最後までお読みいただきありがとうございました。記事作者のひまあーとです。
    ☆Wordpressでサイトをカスタマイズしていく上で有用な情報を配信しつつ、「ココナラ」でサイトカスタマイズのお手伝い、不具合の修復、サイト引っ越し代行などをさせていただいております。
    ☆Wordpressネタが多いですが、趣味の「園芸」「卓球」などの情報や日々の出来事などもどんどん増やしていきますのでよろしくお願いいたします。


いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】


記事の拡散にご協力をお願いします

閲覧いただきありがとうございました。役に立つ情報でしたら是非SNSでシェアをお願いします

関連情報