概要
wp_is_internal_link
関数は、指定されたURLが現在のサイト内のリンクであるかどうかを確認するために使用されます。この関数は、URLに現サイトのホスト名が含まれているか調べる際に有用です。一般的には以下のような機能を実装する際に使用されます。
- サイト内リンクのバリデーション
- SEO対策の施策
- 内部リンクの集計
- リダイレクト処理
- スパムリンクの検出
- ページの互換性チェック
- リンクのネットワーク分析
- カスタムロジックによるリンク処理
この関数の構文、パラメータ、戻り値、関連する関数およびその他の情報は次のとおりです。
構文
wp_is_internal_link( $url );
パラメータ
$url
(string) – チェック対象のURL。
戻り値
- (bool) – 指定されたURLが内部リンクの場合は
true
、そうでない場合はfalse
を返します。
関連する関数
使用可能なバージョン
wp_is_internal_link
関数は、WordPress 4.5以降で使用できます。
コアファイルのパス
wp-includes/functions.php
サンプルコード
サンプルコード1
$url = "https://example.com/sample-page";
if ( wp_is_internal_link( $url ) ) {
echo "これは内部リンクです。";
} else {
echo "これは外部リンクです。";
}
説明:指定したURLが内部リンクであるかどうかを判定し、その結果を出力します。
サンプルコード2
$url = get_permalink();
if ( wp_is_internal_link( $url ) ) {
// 内部リンクの処理
log_internal_link( $url );
}
説明:現在の投稿のパーマリンクが内部リンクである場合、特定の処理(例:ロギング)を実行します。
サンプルコード3
$links = [
"https://example.com/about",
"https://another-site.com",
"https://example.com/contact"
];
foreach ( $links as $link ) {
if ( wp_is_internal_link( $link ) ) {
echo "{$link} は内部リンクです。<br>";
}
}
説明:リンクのリストをループして、各リンクが内部リンクかどうかをチェックし、その結果を表示します。
サンプルコード4
function check_internal_links( $content ) {
preg_match_all( '/https?://[^s]+/', $content, $matches );
foreach ( $matches[0] as $url ) {
if ( wp_is_internal_link( $url ) ) {
// 追加の処理
}
}
}
説明:コンテンツ内の全てのURLを検出し、それぞれが内部リンクかをチェックします。
サンプルコード5
function is_internal_link_example( $link ) {
return wp_is_internal_link( $link ) ? '内部リンク' : '外部リンク';
}
echo is_internal_link_example( "https://example.com/test-page" );
説明:渡されたリンクが内部リンクか外部リンクかを判定し、その結果を返す関数の例です。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
非推奨又は削除されたWordPressバージョン
現在のところ、wp_is_internal_link
は非推奨や削除されたバージョンはありません。