概要
wp_parse_slug_list
関数は、カンマで区切られたスラッグのリストをパースするために使用されます。この関数は、特にカスタム投稿タイプやタクソノミーで利用されるスラッグを処理する際に役立ちます。具体的には、次のような場面でよく使用されます。
- 投稿やページのスラッグを扱う際
- カスタムタクソノミーのスラッグを解析する場合
- カテゴリやタグのスラッグを取得する時
- ユーザー定義のフィールドからスラッグのリストを処理する際
- スラッグベースのクエリを作成する場合
- REST APIのルートを定義する際
- プラグイン設定で複数のスラッグを受け取る場合
- JavaScriptから受け取ったデータをサーバー側で処理する際
構文
wp_parse_slug_list( $slug_list );
パラメータ
$slug_list
(string): カンマで区切られたスラッグの文字列。
戻り値
- (array): スラッグとして有効な値の配列。
関連する関数
使用可能なバージョン
- WordPress 2.5以降
コアファイルのパス
wp-includes/post.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
$slug_string = 'sample-slug, another-slug, third-slug';
$slugs = wp_parse_slug_list( $slug_string );
foreach ( $slugs as $slug ) {
echo esc_html( $slug ) . '<br>';
}
説明: カンマ区切りのスラッグ文字列から個々のスラッグを配列に変換し、各スラッグを表示します。
サンプルコード 2
$options = get_option( 'my_plugin_options' );
$slug_list = isset( $options['slug_list'] ) ? $options['slug_list'] : '';
$slugs = wp_parse_slug_list( $slug_list );
if ( ! empty( $slugs ) ) {
// 配列のスラッグを使用して別の処理を実行
}
説明: プラグインのオプションからスラッグリストを取得し、配列に変換して、後処理に使用します。
サンプルコード 3
function custom_query_posts( $query ) {
if ( ! is_admin() && $query->is_main_query() ) {
$slug_list = 'category-1,category-2';
$slugs = wp_parse_slug_list( $slug_list );
$query->set( 'category_name', implode( ',', $slugs ) );
}
}
add_action( 'pre_get_posts', 'custom_query_posts' );
説明: メインクエリに対してカンマ区切りのカテゴリー名を設定し、投稿をフィルタリングします。
サンプルコード 4
$input_slugs = get_input_from_user(); // ユーザーから受け取ったスラッグのリスト
$valid_slugs = wp_parse_slug_list( $input_slugs );
// 有効なスラッグだけを処理する
process_valid_slugs( $valid_slugs );
説明: ユーザーから受け取ったスラッグを検証し、有効なスラッグのみを後の処理に利用します。
サンプルコード 5
$comma_separated_slugs = 'first,second,third';
$slugs_array = wp_parse_slug_list( $comma_separated_slugs );
if ( count( $slugs_array ) > 0 ) {
// スラッグがある場合の処理
log_slugs( $slugs_array );
}
説明: カンマ区切りのスラッグを配列に変換し、それに基づいてさらに処理を行います。