概要
pings_open
フィルタは、WordPressの投稿ページがトラックバックおよびピンバックを許可されているか調べる際によく使用されます。具体的には、これは投稿が外部からの参照を受け入れるかどうかを制御する機能です。以下は、このフィルタが実装される際によく使われる機能です。
- トラックバック/ピンバックの許可設定
- 投稿のメタデータのチェック
- 投稿タイプによる異なる設定
- 特定の条件に基づくカスタムチェック
- プラグインによるトラックバックの有効/無効設定
- テーマによるカスタム投稿設定
- 管理画面での設定変更
- API経由のトラックバック要求の処理
構文
apply_filters( 'pings_open', bool $open, WP_Post $post );
パラメータ
$open
(bool): 投稿がピンバックまたはトラックバックを受け入れるかどうかを示すブール値。$post
(WP_Post): 現在の投稿オブジェクト。
戻り値
フィルタ適用後の更新されたブール値。
関連する関数
使用可能なバージョン
このフィルタはWordPress 2.0.0以降で使用可能です。
コアファイルのパス
wp-includes/post.php
サンプルコード
サンプルコード1: トラックバックの有効化
このサンプルコードは、すべての投稿でトラックバックを有効にします。
add_filter('pings_open', '__return_true');
引用元: WordPress Codex
サンプルコード2: 投稿タイプに基づいてトラックバックを許可
カスタム投稿タイプにのみトラックバックを許可するサンプルです。
function custom_pings_open( $open, $post ) {
if ( 'my_custom_post_type' === $post->post_type ) {
return true;
}
return $open;
}
add_filter('pings_open', 'custom_pings_open', 10, 2);
引用元: Advanced WordPress
サンプルコード3: 特定の条件でトラックバックを無効化
特定の条件に基づいてトラックバックを無効にする例です。
function disable_pings_on_condition( $open, $post ) {
if ( is_single() && !is_user_logged_in() ) {
return false; // ログインしていないユーザーには無効
}
return $open;
}
add_filter('pings_open', 'disable_pings_on_condition', 10, 2);
引用元: WPBeginner
サンプルコード4: フィルタを使用して設定を変更
このコードは条件に応じて投稿のピンバックを変更します。
add_filter('pings_open', function ($open, $post) {
return ($post->post_status === 'publish') ? true : false;
}, 10, 2);
引用元: WP Shout
サンプルコード5: 投稿のメタデータに基づく許可
投稿メタに基づいてトラックバックを許可します。
function allow_pings_based_on_meta( $open, $post ) {
$allow_pings = get_post_meta($post->ID, 'allow_pings', true);
return $allow_pings === 'yes' ? true : false;
}
add_filter('pings_open', 'allow_pings_based_on_meta', 10, 2);
引用元: Tuts+
この関数のアクションでの使用可能性
アクション | 使用可否 |
---|---|
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 |
非推奨または削除されたバージョン
このフィルタは特定のバージョンで非推奨または削除されていません。