ワードプレスのwp_parse_slug_list関数の使用方法・解説

概要

wp_parse_slug_list関数は、カンマで区切られたスラッグのリストをパースするために使用されます。この関数は、特にカスタム投稿タイプやタクソノミーで利用されるスラッグを処理する際に役立ちます。具体的には、次のような場面でよく使用されます。

  1. 投稿やページのスラッグを扱う際
  2. カスタムタクソノミーのスラッグを解析する場合
  3. カテゴリやタグのスラッグを取得する時
  4. ユーザー定義のフィールドからスラッグのリストを処理する際
  5. スラッグベースのクエリを作成する場合
  6. REST APIのルートを定義する際
  7. プラグイン設定で複数のスラッグを受け取る場合
  8. 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 );
}

説明: カンマ区切りのスラッグを配列に変換し、それに基づいてさらに処理を行います。

この関数について質問する


上の計算式の答えを入力してください