概要
wp_get_shortlink
フィルタは、WordPressの投稿に対する短縮URLを取得する際に使用されます。このフィルタは、カスタム短縮URLを生成するための機構を提供し、開発者が独自のロジックを実装できるようにします。主な利用ケースには以下のようなものがあります。
- カスタム短縮URLサービスと連携する場合
- SEO最適化された短縮URLを作成する場合
- ソーシャルメディア用の短縮リンクを生成する場合
- 特定の条件に基づいて短縮URLを変更する場合
- 使用状況の追跡や分析のためのリンクを作成する場合
- リダイレクト統計を計測するための短縮URLに変更する場合
- 短縮URLの形式をカスタマイズするため
- テスト環境やステージング用の短縮リンクを生成する場合
構文
apply_filters( 'wp_get_shortlink', $shortlink, $id, $context );
パラメータ
$shortlink
(string): 生成された短縮リンク。$id
(int): 投稿のID。$context
(string): 使用されるコンテキスト(例:”post”)。
戻り値
フィルタリングされた短縮リンクを返します。
関連する関数
使用可能なバージョン
このフィルタは、WordPress 4.4以降で利用可能です。
コアファイルのパス
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 | 〇 |
サンプルコード
以下に、wp_get_shortlink
フィルタを使用したサンプルコードを5点示します。
サンプルコード 1
add_filter('wp_get_shortlink', 'custom_shortlink', 10, 3);
function custom_shortlink($shortlink, $id, $context) {
return 'https://example.com/short/' . $id; // カスタム短縮URLを生成
}
このコードは、投稿のIDを元に独自の形式の短縮URLを生成します。
サンプルコード 2
add_filter('wp_get_shortlink', 'add_tracking_to_shortlink', 10, 3);
function add_tracking_to_shortlink($shortlink, $id, $context) {
return $shortlink . '?utm_source=my_source'; // 追跡パラメータを追加
}
このコードは既存の短縮URLに追跡用のクエリパラメータを追加します。
サンプルコード 3
add_filter('wp_get_shortlink', 'custom_post_type_shortlink', 10, 3);
function custom_post_type_shortlink($shortlink, $id, $context) {
if (get_post_type($id) === 'custom_post_type') {
return 'https://mywebsite.com/custom/' . $id; // 特定の投稿タイプ用短縮URL
}
return $shortlink;
}
このコードは、特定の投稿タイプに対してカスタム短縮URLを作成します。
サンプルコード 4
add_filter('wp_get_shortlink', 'shortlink_for_logged_in_users', 10, 3);
function shortlink_for_logged_in_users($shortlink, $id, $context) {
if (is_user_logged_in()) {
return $shortlink . '&user=L'; // ログイン中のユーザー向けに変更
}
return $shortlink;
}
このコードは、ログインしているユーザー向けに短縮URLを変更します。
サンプルコード 5
add_filter('wp_get_shortlink', 'add_custom_domain_shortlink', 10, 3);
function add_custom_domain_shortlink($shortlink, $id, $context) {
return 'https://customdomain.com/?p=' . $id; // 追加のドメインを使用した短縮URL
}
このコードは、異なるドメインを使用して短縮URLを生成します。
これらのサンプルコードは、著作権フリーのものとして提供されています。