概要
get_the_permalink
フィルタは、現在の投稿情報のパーマリンクを取得する際に使用されるフィルタです。このフィルタを使用することで、パーマリンクをカスタマイズすることが可能になります。具体的には、次のような機能を実装する時に役立ちます。
- パーマリンクに特定のクエリパラメータを追加
- パーマリンクの形式を変更
- 外部サイトへのリダイレクトを簡単に設定
- 投稿ごとに異なるパーマリンク構造を適用
- SEO向けの特別なトラッキングリンクを生成
- 特定の条件に基づいてパーマリンクをフィルタリング
- URIを特定のフォーマットに整形
- ページタイトルや他のメタ情報を利用してパーマリンクを強化
構文
string get_the_permalink( int|WP_Post $id = null )
パラメータ
$id
(int|WP_Post): 投稿のIDまたはWP_Postオブジェクト。指定しない場合は現在の投稿が使用される。
戻り値
- 投稿のパーマリンクのURLを返します。
関連する関数
このフィルタを使用可能なバージョン
- WordPress 2.5以降
コアファイルのパス
wp-includes/rewrite.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_the_permalink', 'custom_permalink_function');
function custom_permalink_function($permalink) {
return $permalink . '?utm_source=mywebsite';
}
このコードは、取得されたパーマリンクにUTMパラメータを追加しています。これにより、トラッキングが容易になります。
サンプルコード2
add_filter('get_the_permalink', 'change_permalink_structure');
function change_permalink_structure($permalink) {
return str_replace('http:', 'https:', $permalink);
}
このコードは、すべてのパーマリンクのhttpをhttpsに変更します。サイトの安全性を向上させるために役立ちます。
サンプルコード3
add_filter('get_the_permalink', 'add_custom_slug');
function add_custom_slug($permalink) {
if(is_single()) {
$permalink = str_replace('sample-post', 'custom-slug', $permalink);
}
return $permalink;
}
このコードは、特定の投稿に対してパーマリンクスラッグをカスタマイズします。
サンプルコード4
add_filter('get_the_permalink', 'modify_permalink_for_category');
function modify_permalink_for_category($permalink) {
if(in_category('news')) {
$permalink .= 'news-update/';
}
return $permalink;
}
このコードは、特定のカテゴリに属する投稿のパーマリンクを変更し、末尾に「news-update」を追加します。
サンプルコード5
add_filter('get_the_permalink', 'redirect_old_permalink');
function redirect_old_permalink($permalink) {
if($permalink === 'https://example.com/old-url/') {
return 'https://example.com/new-url/';
}
return $permalink;
}
このコードは、古いパーマリンクを新しいURLにリダイレクトする機能を提供します。これにより、ユーザーが古いリンクを使用した際にも正しいページに導かれます。