WordPress ポストに最終変更日を表示する方法

Last Updated: 2023 年 05 月 19 日 17のコメント

一般的に、 WordPress サイト内の個々のポストに書か発行日が表示されます。 発行日ではなく、最終的修正の日付に変更すると、訪問者が見るの最新情報が盛り込まれた、より価値のある文章を認識することができ、Googleなどの検索エンジンでも更新日が表示されるので SEOに有利であることができます。

ちなみに、URLに書か発行年と日付が表示されるのは、SEOに常に不利ます。 ユーザーがURLに表示された年を見て文のリンクをクリックしない可能性もあります。 SEOに有利な固有のアドレス体系は SEOに有利な WordPressのURL構造を参照してみてください。

[この記事は、2023年5月19日に最後に更新されました。 ]

記事発行日vs. 変更日を表示

WordPressは、個々の文に書かれ発行日と修正日(更新日)を表示することができます。 通常は、文が公開された日付が表示されます必要に応じて修正日付のみを表示したり、その両方を表示することができます。

文発行日を表示する場合、Googleなどの検索エンジンにさらされると、数年前に発行されたグローバル表示され、新しい情報を探し、ユーザーがクリックをしていない可能性もあります。

更新日を表示すると、文が長くされても情報を更新すると、最近変更された日付が、Googleに反映されて露出されるので、SEO(検索エンジン最適化)に役立つことができます。

WordPress ポストに発行日の代わりに修正日付表示 - 最後に更新された日付がGoogleの検索エンジンにさらされる。
数年前に発行された記事であっても変更日を表示すると、最後に更新された日付が、Googleにさらされる。

場合によっては、発行日と変更日の両方を公開することができますが、この場合、通常発行日は、検索エンジンに反映されることがあります。 発行日を表示する場合は、更新がいつ行われたかを表示してくれることも考慮してみることができます。 例:

[この記事は2021年9月8日に最終更新されました。 ]

WordPress ポストに最終変更日を表示する方法

ほとんどの WordPress テーマでポストに発行日(Post Date)の代わりに、更新日(Modified Date)を表示するためのオプションを提供していません。 個別記事に最終更新日を表示したい場合は、以下の方法を利用することができます。

一般的な方法

一般的に、次のようなコードをテーマファイル内の適切な場所に挿入するか、発行日の部分を置き換えることができます。

// WordPress 포스트에 글 변경 날짜 표시
$u_time = get_the_time('U'); 
$u_modified_time = get_the_modified_time('U'); 
if ($u_modified_time >= $u_time + 86400) { 
echo "<p>Last modified on "; 
the_modified_time('F jS, Y'); 
echo " at "; 
the_modified_time(); 
echo "</p> "; } 

または、次のようなコードをテーマの関数ファイルに追加することも考慮してみることができます。

// 글 콘텐츠 상단에 글 변경 날짜 추가
function wpb_last_updated_date( $content ) {
$u_time = get_the_time('U'); 
$u_modified_time = get_the_modified_time('U'); 
if ($u_modified_time >= $u_time + 86400) { 
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a'); 
$custom_content .= '<p class="last-updated">Last updated on '. $updated_date . ' at '. $updated_time .'</p>';  
} 
 
    $custom_content .= $content;
    return $custom_content;
}
add_filter( 'the_content', 'wpb_last_updated_date' );

上記のコードを使用する場合、必ず チャイルドテーマ(子テーマやサブテーマとも呼ばれる)を作成し、適切なテーマファイル内に追加したり、チャイルドテーマフォルダ内の関数ファイル(functions.php)に追加してください。 そうでなければテーマが更新されると変更が失われます。

テーマでフックを提供する場合: GeneratePress テーマでポストに最終更新日を表示する方法

このブログには、現在 GeneratePress テーマが適用されています。 GeneratePress テーマでも文の変更日付を表示するオプションが提供されていませんが、このテーマでは、様々なフック(アクション/フィルタ)が提供されるため、フックを利用して、簡単にポストの日付を書き込みが最終的に変更された日付に変更することができます。

GeneratePressで「更新日」を表示したい場合は、子テーマを作成し、子テーマ内の関数ファイルに次のコードを追加します。

// Display 'Last Modified Date' in GeneratePress
// GeneratePress 테마에서 更新 날짜 표시하기
add_filter( 'generate_post_date_output', function( $output, $time_string ) {
    $time_string = '<time class="entry-date published" datetime="%1$s" itemprop="datePublished">%2$s</time>';

    if ( (get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) && is_singular( 'post' ) ) {
        $time_string = 'Last Updated: <time class="entry-date updated-date" datetime="%3$s" itemprop="dateModified">%4$s</time>';
    }

    $time_string = sprintf( $time_string,
        esc_attr( get_the_date( 'c' ) ),
        esc_html( get_the_date() ),
        esc_attr( get_the_modified_date( 'c' ) ),
        esc_html( get_the_modified_date() )
    );

    return sprintf( '<span class="posted-on">%s</span> ',
        $time_string
    );
}, 10, 2 );

テーマファイルを保存した後のポストを更新してみると、図のように最終更新日が表示されます。 (更新日が表示されない場合は、キャッシュプラグインのキャッシュを削除して、ブラウザのキャッシュも削除してください。)

もしポストの日付が表示されない場合は WordPress 管理者ページ > テーマデザイン > カスタマイズ > Layout > Blogに移動した後、 単発講座 タブをクリックして、 Display post date オプションのチェックボックスを選択すると、 GeneratePress テーマのブログ記事にポストの日付が表示されます。

GeneratePress テーマ - ポストの日付表​​示オプション

Blog オプションページで、ブログ記事に表示するポストメタデータを設定することができます。

ヘッダー要素を使用している場合は、次の記事を参照してください。

追加:記事発行日ではなく文の変更の日付に表示する場合は、検索エンジンに反映問題

経験上文発行日を表示している途中文修正日(更新日)に変更する場合は、単純に日付のみ変更されると、グーグルなどの検索エンジンに日付が反映されないようです。 文を修正して表示される更新日が変更されると、一定時間が経過すると、検索エンジンに反映されます。

また、ポスト発行日と更新日を同時に表示するときには、発行日が反映されるようで、発行日を表示できる更新日だけを表示するように変更した後に再び発行に変えるなど、複数回の日付の表示を変更すると、検索エンジンが混乱して、検索エンジンに反映される日付は、実際の記事に表示される日付を正しく反映していないか、またはまったく日付が表示さがない現象も現れることを経験しました。

メモ:


17のコメント

コメント

  1. GeneratePress ChildテーマでElementsフック機能に<>コードを追加しましたが、適用されません。

    ウォーク様がご紹介いただいた「ブレッドクラム」を使用中と衝突していますか?

    応答
      • この部分に文が欠けていて質問の要旨が正確でなかったようです。ブレッドクラムはうまく機能し、ワークのおかげで役に立ちます。

        もう一度質問したい場合は、「テーマでフックを提供している場合: GeneratePress テーマでポストに最終修正日を表示する方法」のコードをブレッドクラムのようにフックにしましたが適用されません。

      • こんにちは、ハンダム。 「テーマでフックを提供する場合: GeneratePress テーマからポストに最終修正日を表示する方法は、GPテーマでのみ適用され、更新日を表示するときに使用されます。テーマが提供するフックを使用してブレッドクラムを表示したいですか?

        GPテーマの場合 有料版を使用すると、Elementで簡単に好きな場所に置くことができます。他のテーマの場合は、そのテーマが提供するフック関連のマニュアルを参照してコードを入れる必要があります。

        GeneratePress テーマのフックは次の記事で確認できます。

        https://www.thewordcracker.com/intermediate/generatepress-%ED%85%8C%EB%A7%88-%ED%9B%84%ED%81%AC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/

        注:テーマ関数ファイルにブレッドクラムを追加する場合は、ショートコードではなくPHPファイル形式で追加する必要があります。

        たとえば、Rank Mathの場合は、次のコードでブレッドクラムを追加できます。

        <?php if (function_exists('rank_math_the_breadcrumbs')) rank_math_the_breadcrumbs(); ?>

        適用するには、基本的なPHPに関する知識が必要です。

  2. ポスティング内部日付は変更日に更新がされたGoogleの検索時に出てくる日がまだ発行に表示がされます。サーチコンソールでサイトマップやurl登録までした変更がないのにどうでしょうか

    応答
    • こんにちは、ユジョンス様。 変更後、実際の反映には時間がかかることがあります。 また、経験上の日付のみ変更した場合、検索エンジンに反映さない可能性も高いと思われる。 文の内容を少し修正して見れば、Googleに反映されるでしょう。

      応答
  3. こんにちは、常に良い文章よく見ていますありがとうございます! 相違がなく、修正の日付に変更するか、よく適用したポスティング内での変更がされ、キーワード検索したときにGoogleで表示される日付は、まだ発行日と表示がされます。サイトマップやらUrl登録までしてくれた変更がないのにどうすればいいですか? ?

    応答
  4. 最初の良い情報に常に多くの助けを受けています。 ありがとうございます。
    もしかしたら、Googleで検索時の前に日付を見えないように削除する方法はないでしょうか?

    応答
    • 個別記事で発行日を削除すると、Googleで検索時に日付が表示されないようです。

      日付を表示しないようにする機能があるかのテーマをチェックしてみてください?

      仮に Avada などの有料テーマでは、このような機能を提供します。

      テーマで提供していない場合、テーマのソースファイルの日付部分を削除する方法などを利用することができるようになります。

      応答
  5. 本文の
    [この記事は2020年3月7日に最終更新されました。 ]
    というフレーズは、直接入力されたんですか? それともプラグインを介して公開されるようにしたんですか?
    プラグインやその他の方法であれば、その方法を知っていると思います。

    応答
  6. 最初から公開された日付を取り除くには、何を変更する必要がいいですか?
    写真をあげたが、写真を追加や出版社のIDが出てくる
    両方出ないよ。
    ただすっきり写真だけ出るようにしようとしています。

    応答
  7. Newspaperの場合Cloud TempletesでSingleページを構成してすることができものののにかなり面倒です。 希望Singleページもなく直して使い勝手も曖昧で Newspaper テーマの場合は、そのコードが一部墨ヒギンたというがよくダメですね。

    テーマでフックをサポートするれましたが、それは何を言っている理解が持つですね。

    応答
    • Newspaper テーマの基本的なテンプレートのいずれかを使用していらっしゃるんです?

      少し調べてみるとDEFAULT SITE POST TEMPLATEを使用した場合Style 2ではないかと考えますね。

      Newspaperの場合、一般的な方法でチャイルドテーマが動作していません。

      スタイル2を使用するという前提の下で説明しましょう。

      / WP-コンテンツ/plugins/td-standard-pack/Newspaper/parts/singleフォルダにあるスタイルファイル(スタイル2の場合はloop-single-2.phpファイルとsingle_template_2.phpファイル)をチャイルドテーマフォルダ内の/wp-content/themes/Newspaper-child / parts / singleフォルダにコピーします。

      更新日で表示したい場合は、日付の部分を https://www.thewordcracker.com/en-us/how-to-show-the-last-updated-date-for-posts-in-newspaper/ 記事の「Replace it with the following:」のすぐ下に表示されているコードに置き換えてください。

      スクリーンショットを参照してください。

      https://www.screencast.com/t/508D3NJX6

      他のスタイルを利用する場合にも、同様の方法でできます。

      ただしDefaultスタイルを利用する場合には、single.phpファイルを変更する必要がするんですが。 この場合、正常に動作しないことです。 なぜならsingle.phpファイルでパスが一つ間違っているからです。 パスを適切に変更すると、問題が解決されます。

      時間の日時 Newspaperでチャイルドテーマを活用する方法についての記事を一つ作成しようと思っていますが…なかなかチャンスがありませんね。
      次の週に一度まとめてみなければなりません。

      応答
      • style2フィットします。 チャイルドテーマにコピーた後みました。 やはりテーマ構造についてパサク鋭いです。 その方法を考えてみたが、構造に対してよく分からなくてずいたありがとうございます。

        言われた通りに変更したらよくなりますね。 本当にありがとうございます。 構造を理解したら、他のものも、このような方法でするとなるようです。

        https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=http%3A%2F%2Fcfile8.uf.tistory.com%2Fimage%2F998FE2395E64B49903B20E

      • 私 Newspaperを使用当時のメジャーアップデートが二度ありました。

        最初のメジャーアップデート時にテーマのデフォルトのテンプレート機能がtagDiv Composerに移動しました。 そうするうちに、最近メジャーアップデートでは、テーマのデフォルトのテンプレート機能がtagDiv Standard Packに移動しました。

        したがって、デフォルトのテンプレート(スタイル)を使用している場合はtagDiv Standard Pack内のファイルを利用する必要があります。

        私もこの部分をよく分からなくて Newspaperと数回メールをやりとり受けやっと理解できました。
        NewspaperはtagDiv Cloud Libraryでカスタマイズする方法で変わり、標準 WordPress 方式とは少し遠い方式を採用しています。

        おそらくこれ以上変変わらないようです。

        上記スタイルファイルから不要な要素(例えばAuthor name、Viewsなど)は削除できます。