概要
human_readable_duration
フィルタは、持続時間を読みやすい書式に変換するために使用されます。このフィルタにより、時間の長さを人々が理解しやすい形式(例えば、秒や分、時間)で表示することが可能になります。この機能は、以下のような場面でよく使われます。
- メディアファイルの再生時間を表示する
- 予約やイベントの持続時間を表示する
- タイマーやカウントダウンの残り時間を表示する
- 読書にかかる時間の推定を表示する
- ライブ配信や講義の長さを示す
- スポーツイベントの期間を表示する
- フォーラムのスレッドの更新時間を表示する
- チュートリアルやガイドの所要時間を示す
構文
apply_filters( 'human_readable_duration', $duration );
パラメータ
$duration
(int) – 秒数で指定された時間。
戻り値
- (string) – 人間にとって理解しやすい形式で表された時間。
関連する関数
使用可能なバージョン
- 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 );
}
このサンプルコードでは、文章の単語数から推定される読書時間を計算し、それを人間に理解しやすい形式に変換して返します。