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

概要

get_url_in_contentフィルタは、コンテンツ内のaタグのURLを抜き出す際に利用されます。このフィルタは、投稿やページなどのコンテンツから特定のURL情報を取得・変換する際に非常に役立ちます。以下は、このフィルタがよく使われる機能の例です。

  1. SEOの最適化
  2. 自動リンク挿入
  3. リンク切れのチェック
  4. ソーシャルメディアシェアのリンク抽出
  5. コンテンツの解析・統計
  6. URLの短縮
  7. コンテンツフィルタリング
  8. フロントエンドでのカスタム表示

構文

add_filter('get_url_in_content', 'your_function_name', 10, 2);

パラメータ

  • string $url: 元のURL
  • string $content: コンテンツ全体

戻り値

  • string: フィルタリングされたURL

関連する関数

https://refwp.com/?titleonly=1&s=get_url_in_content

使用可能なバージョン

WordPress 4.7以降で使用可能です。

ワードプレスのコアファイルのパス

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

add_filter('get_url_in_content', 'extract_urls', 10, 2);
function extract_urls($url, $content) {
    // コンテンツ内から特定のパターンのURLだけを抜き出す
    if (preg_match('/https?://example.com/S+/', $url, $matches)) {
        return $matches[0];
    }
    return $url;
}

このコードは、コンテンツ内から特定のドメイン(example.com)のURLを抜き出すフィルタです。

サンプルコード2

add_filter('get_url_in_content', 'modify_link', 10, 2);
function modify_link($url, $content) {
    // URLが特定の条件を満たす場合に変更
    if (strpos($url, 'http') === 0) {
        return str_replace('http', 'https', $url);
    }
    return $url;
}

このコードは、すべてのHTTPリンクをHTTPSに変更するフィルタです。

サンプルコード3

add_filter('get_url_in_content', 'log_urls', 10, 2);
function log_urls($url, $content) {
    // 抜き出したURLをログに記録する
    error_log('URL extracted: ' . $url);
    return $url;
}

このコードは、抽出したすべてのURLをサーバーのエラーログに記録します。

サンプルコード4

add_filter('get_url_in_content', 'remove_invalid_urls', 10, 2);
function remove_invalid_urls($url, $content) {
    // 無効なURL(404など)をフィルタリング
    if (!filter_var($url, FILTER_VALIDATE_URL)) {
        return '';
    }
    return $url;
}

このコードは、無効なURLをコンテンツから除外します。

サンプルコード5

add_filter('get_url_in_content', 'add_tracking_param', 10, 2);
function add_tracking_param($url, $content) {
    // URLにトラッキングパラメータを追加
    return $url . '?utm_source=your_source';
}

このコードは、すべてのURLにトラッキングパラメータを追加します。

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


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