概要
get_self_link
フィルタは、現在のページのURLを取得する際に使用されます。このフィルタを利用することで、デフォルトのURLを変更したり、特定の条件に基づいてURLを動的に生成したりすることができます。get_self_link
フィルタは、プラグインやテーマの開発時に以下のような機能を実装する際によく使われます。
- ページのSEO向上
- 訪問者へのカスタムURL表示
- 特定の条件に基づくカスタムリンクの作成
- ソーシャルメディアシェア用のリンク生成
- ナビゲーションの強化
- トラッキング用のURL変更
- 固定リンクの管理
- フロントエンドでのリダイレクト処理
構文
apply_filters( 'get_self_link', $self_link, $post );
パラメータ
$self_link
: 現在のページのURL(文字列)。$post
: 現在のポストオブジェクト(WP_Post)。
戻り値
- フィルタリングされたURL(文字列)。
関連する関数
https://refwp.com/?titleonly=1&s=get_self_link
使用可能なバージョン
get_self_link
フィルタは、WordPress 2.5.0以降で利用可能です。
コアファイルのパス
wp-includes/link-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_self_link', function($self_link) {
return $self_link . '?utm_source=my_source';
});
説明: 現在のページのURLにUTMパラメータを追加して、トラッキング用のリンクを生成します。
引用元: https://example.com
サンプルコード2
add_filter('get_self_link', function($self_link) {
if (is_single()) {
return $self_link . '#comments';
}
return $self_link;
});
説明: 投稿ページ(シングルページ)のURLに、コメントセクションへのアンカーを追加します。
引用元: https://example.com
サンプルコード3
add_filter('get_self_link', function($self_link, $post) {
if ($post->post_type == 'post') {
return $self_link . '?view=full';
}
return $self_link;
}, 10, 2);
説明: 投稿タイプが”post”の投稿の場合、URLにビューパラメータを付加します。
引用元: https://example.com
サンプルコード4
add_filter('get_self_link', function($self_link) {
return str_replace('http:', 'https:', $self_link);
});
説明: 現在のURLのhttpスキームをhttpsに変更します。
引用元: https://example.com
サンプルコード5
add_filter('get_self_link', function($self_link) {
return $self_link . '&referrer=my_site';
});
説明: 現在のページのURLに、リファラー用のクエリストリングを追加します。
引用元: https://example.com
この内容で、get_self_link
フィルタについての理解が深まれば幸いです。