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

概要

human_readable_durationフィルタは、持続時間を読みやすい書式に変換するために使用されます。このフィルタにより、時間の長さを人々が理解しやすい形式(例えば、秒や分、時間)で表示することが可能になります。この機能は、以下のような場面でよく使われます。

  1. メディアファイルの再生時間を表示する
  2. 予約やイベントの持続時間を表示する
  3. タイマーやカウントダウンの残り時間を表示する
  4. 読書にかかる時間の推定を表示する
  5. ライブ配信や講義の長さを示す
  6. スポーツイベントの期間を表示する
  7. フォーラムのスレッドの更新時間を表示する
  8. チュートリアルやガイドの所要時間を示す

構文

apply_filters( 'human_readable_duration', $duration );

パラメータ

  • $duration (int) – 秒数で指定された時間。

戻り値

  • (string) – 人間にとって理解しやすい形式で表された時間。

関連する関数

human_readable_duration

使用可能なバージョン

  • WordPress 4.0以降

コアファイルのパス

  • wp-includes/formatting.php

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

アクション 使用可能
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

サンプルコード

サンプルコード1

function format_duration_example( $duration ) {
    return apply_filters( 'human_readable_duration', $duration );
}

このサンプルコードでは、与えられた時間(秒数)を人間に理解しやすい形式に変換するために human_readable_duration フィルタを適用しています。

サンプルコード2

function display_video_duration( $video_id ) {
    $duration = get_video_duration( $video_id ); // 秒数を取得
    $readable_duration = apply_filters( 'human_readable_duration', $duration );
    echo "動画の持続時間: " . $readable_duration;
}

このサンプルコードは、特定の動画の持続時間を取得し、読みやすい形式で表示する例です。

サンプルコード3

add_filter( 'human_readable_duration', function( $duration ) {
    if ( $duration < 60 ) {
        return $duration . '秒';
    } elseif ( $duration < 3600 ) {
        return floor( $duration / 60 ) . '分';
    } else {
        return floor( $duration / 3600 ) . '時間';
    }
});

このサンプルコードでは、持続時間に基づいて秒、分、または時間で結果をフォーマットする方法を示しています。

サンプルコード4

function display_event_duration( $event_id ) {
    $duration = get_event_duration( $event_id ); // 秒数を取得
    echo "イベントの長さ: " . apply_filters( 'human_readable_duration', $duration );
}

このサンプルコードでは、イベントの持続時間を取得し、その情報を読みやすい形式で表示しています。

サンプルコード5

function estimated_read_time( $word_count ) {
    $duration = ceil( $word_count / 200); // 200ワードあたりの所要時間を1分とする
    return apply_filters( 'human_readable_duration', $duration * 60 );
}

このサンプルコードでは、文章の単語数から推定される読書時間を計算し、それを人間に理解しやすい形式に変換して返します。

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


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