ワードプレスのhuman_time_diffフィルタの使用方法・解説

概要

human_time_diffフィルタは、日時の差を人間が理解しやすい形式で表現するために使用されます。このフィルタを使用することで、例えば「2日前」や「1時間前」といった感覚的な表現が得られます。主に以下のような場面で使用されます。

  • 投稿の更新日時を表示する際
  • コメントの投稿時間を表示する際
  • イベントの発生からの経過時間を表示する際
  • ユーザーのアクティビティログにおける時間差の表示
  • 定期的なリマインダーや通知の時間差表示
  • チームのプロジェクトの進行状況の時間表示
  • 過去のフィードバックやレビューの日時表示
  • カスタム投稿タイプの作成時の時間表示

構文

human_time_diff( $from, $to = '' );

パラメータ

  • $from (int) – 比較対象の日時(Unixタイムスタンプ)。
  • $to (int|mixed) – 比較基準の日時。指定しない場合は現在の日時が使用される。

戻り値

  • (string)時間差を表すテキスト(例: “2 hours ago”, “3 weeks ago”)。

関連する関数

human_time_diff

使用可能なワードプレスバージョン

このフィルタは、WordPress 2.9.0以降で使用可能です。

コアファイルのパス

wp-includes/functions.php

サンプルコード

サンプルコード1: 投稿投稿日を感覚的に表示する

function display_post_date_human() {
    $post_date = get_the_date('U'); // 投稿日のUnixタイムスタンプを取得
    echo human_time_diff($post_date) . ' ago'; // 例: '2 days ago'
}

このコードは、現在の日付を基準にして投稿の日付を「何日前」と表示します。

サンプルコード2: コメントの投稿時間を表示する

function display_comment_date_human($comment_date) {
    $comment_date_timestamp = strtotime($comment_date); // コメント日のUnixタイムスタンプを取得
    return human_time_diff($comment_date_timestamp) . ' ago'; // 例: '1 hour ago'
}

このコードは、コメントの投稿日時を理解しやすい形式で表示します。

サンプルコード3: カスタム投稿タイプの日付を表示

function display_custom_post_date($post_id) {
    $post_date = get_post_time('U', false, $post_id); // カスタム投稿タイプの投稿時間を取得
    return human_time_diff($post_date) . ' ago'; // 例: '3 weeks ago'
}

このコードは、特定のカスタム投稿タイプの日付差を人間語で表現します。

サンプルコード4: ユーザーアクティビティの時間差表示

function display_user_activity_time($activity_time) {
    $activity_time_timestamp = strtotime($activity_time); // アクティビティ日時のUnixタイムスタンプを取得
    return human_time_diff($activity_time_timestamp) . ' ago'; // 例: '5 minutes ago'
}

このコードは、特定のユーザーアクティビティの時間差を表示します。

サンプルコード5: 投稿の最終更新日時を表示

function display_last_modified_human() {
    $last_modified = get_the_modified_time('U'); // 最終更新日時のUnixタイムスタンプを取得
    echo human_time_diff($last_modified) . ' ago'; // 例: '10 hours ago'
}

このコードは、投稿の最終更新日時を人間が読みやすい形で表示します。

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

human_time_diffフィルタは特定のワードプレスバージョンで非推奨または削除されることはありません。

この関数について質問する


上の計算式の答えを入力してください