概要
wp_trim_excerpt
フィルタは、投稿やページの抜粋を取得する際に、抜粋の内容を変更や調整するために使用されます。このフィルタは、特に以下のような機能を実装する際に役立ちます。
- 自動生成された抜粋のカスタマイズ
- 抜粋の最大文字数の指定
- 抜粋内のHTMLタグの除去
- 特定の文字列を抜粋に追加する
- 条件に応じた抜粋内容の変更
- 抜粋のカスタムフォーマッティング
- 特定のカテゴリーやタグに基づく抜粋のフィルタリング
- 抜粋の先頭にアイキャッチ画像やその他の情報を追加する
構文
apply_filters( 'wp_trim_excerpt', $text, $raw_excerpt, $post );
パラメータ
$text
(string): 抜粋として表示されるテキスト。$raw_excerpt
(string): 投稿から自動生成された未加工の抜粋。$post
(WP_Post): 現在の投稿オブジェクト。
戻り値
wp_trim_excerpt
フィルタは、フィルタ処理後の抜粋(string)を戻り値として返します。
関連する関数
使用可能バージョン
wp_trim_excerpt
フィルタは、WordPress 1.5.0 以降で使用可能です。
コアファイルのパス
wp-includes/post-template.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: 抜粋の最大文字数を制限する
このサンプルコードは投稿の抜粋を100文字以内に制限します。
add_filter('wp_trim_excerpt', function($text, $raw_excerpt, $post) {
return wp_trim_words($text, 100);
}, 10, 3);
サンプル2: 特定の文字列を抜粋の末尾に追加する
このサンプルでは、抜粋の末尾に「…詳しくは記事をお読みください。」という文字列を追加します。
add_filter('wp_trim_excerpt', function($text, $raw_excerpt, $post) {
return $text . '...詳しくは記事をお読みください。';
}, 10, 3);
サンプル3: HTMLタグを除去した抜粋を取得する
このサンプルコードは、抜粋からHTMLタグを除去します。
add_filter('wp_trim_excerpt', function($text, $raw_excerpt, $post) {
return strip_tags($text);
}, 10, 3);
サンプル4: 抜粋にアイキャッチ画像のURLを追加する
このサンプルは、抜粋の先頭にアイキャッチ画像のURLを追加します。
add_filter('wp_trim_excerpt', function($text, $raw_excerpt, $post) {
if (has_post_thumbnail($post->ID)) {
$thumbnail_url = get_the_post_thumbnail_url($post->ID);
$text = '<img src="' . esc_url($thumbnail_url) . '" alt="アイキャッチ画像">' . $text;
}
return $text;
}, 10, 3);
サンプル5: 抜粋のフォーマッティングをカスタマイズする
このコードでは、抜粋を強調表示するために <strong>
タグを追加します。
add_filter('wp_trim_excerpt', function($text, $raw_excerpt, $post) {
return '<strong>' . $text . '</strong>';
}, 10, 3);
著作権フリーのサンプルコードはぜひ目的に応じて利用してください。