概要
popuplinksフィルタは、Aタグに別ウィンドウで開く属性を追加するために使用されます。主にWebサイトのリンクの動作を調整したい時に利用されることが多いです。このフィルタを使うことで、ユーザーが特定のリンクをクリックした際に、新しいウィンドウまたはタブでコンテンツを表示させることが可能になります。一般的な使用例としては以下のようなシナリオがあります。
- 外部リンクを別ウィンドウで開かせたい場合
- 特定のページや投稿への誘導を強化したい場合
- ユーザーのナビゲーションを改善したい場合
- アフィリエイトリンク用の設定
- メールリンクを別タブで開く設定
- プライバシーポリシーや利用規約へのリンク変更
- コンテンツのアクセシビリティを向上させたい場合
- ウェビナーやイベント登録リンクを開く際に使用
構文
add_filter('popuplinks', 'your_custom_function');
パラメータ
$link(string): 対象のリンクのHTML。
戻り値
- (string): 修正されたリンクのHTML。
関連する関数
このフィルタを使用可能なバージョン
- WordPress 4.0 以上
このフィルタが含まれるワードプレスのコアファイルのパス
wp-includes/formatting.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
function add_target_to_links($link) {
return str_replace('<a ', '<a target="_blank" ', $link);
}
add_filter('popuplinks', 'add_target_to_links');
このコードは、全てのAタグにtarget="_blank"を追加し、リンクを新しいウィンドウで開くようにしています。
サンプルコード 2
function customize_external_links($link) {
if (strpos($link, 'example.com') !== false) {
return str_replace('<a ', '<a target="_blank" rel="noopener noreferrer" ', $link);
}
return $link;
}
add_filter('popuplinks', 'customize_external_links');
このコードは、example.com というドメインのリンクにのみ、target="_blank"とrel="noopener noreferrer"を追加しています。
サンプルコード 3
function effective_popup_links($link) {
if (is_user_logged_in()) {
return str_replace('<a ', '<a target="_blank" ', $link);
}
return $link;
}
add_filter('popuplinks', 'effective_popup_links');
このコードは、ログイン中のユーザーに対して、全てのリンクを新しいウィンドウで開くように設定します。
サンプルコード 4
function conditional_popup_links($link) {
if (current_user_can('administrator')) {
return str_replace('<a ', '<a target="_blank" ', $link);
}
return $link;
}
add_filter('popuplinks', 'conditional_popup_links');
このコードは、管理者ユーザーだけが新しいウィンドウでリンクを開くことができるように変更します。
サンプルコード 5
function add_custom_attributes($link) {
return str_replace('<a ', '<a data-custom="your-value" ', $link);
}
add_filter('popuplinks', 'add_custom_attributes');
このコードは、全てのAタグにカスタムデータ属性を追加していますが、target="_blank"は変更していません。これにより、任意のデータを追加で設定できます。