プラグインCustom Post Type UIのcptui_taxonomy_slug_exists関数の使用方法・解説

概要

cptui_taxonomy_slug_existsは、WordPressのプラグインCustom Post Type UIに由来する関数で、タクソノミー(分類)のスラッグが既に存在するかどうかを確認するために使用されます。この関数は、データベース内に登録されているタクソノミースラッグがユニークであることを保証するためによく利用されます。

一般的な使用ケース

  1. 新しいカスタムタクソノミーを追加する際に、スラッグの重複を確認する。
  2. タクソノミーのスラッグを編集する前に、競合を防止するためのバリデーション。
  3. カスタム書き方の後にスラッグ管理を行うプラグイン開発時。
  4. ユーザーインターフェースでタクソノミー設定を行う際のスラッグのチェック。
  5. テーマやプラグインが推奨するカスタムタクソノミー設定に合わせてスラッグを動的に生成する。
  6. カスタムタクソノミーのスラッグ設定が無効でないかチェックする。

この関数は、Custom Post Type UIのバージョンには依存していませんが、WordPressのバージョン4.0以降で利用可能です。

構文

cptui_taxonomy_slug_exists( $slug );

パラメータ

  • $slug : (string) チェックするタクソノミースラッグ。

戻り値

  • (bool) タクソノミースラッグが存在する場合はtrue、存在しない場合はfalse。

この関数のアクションでの使用可能性

アクション 使用可否
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 = 'my_custom_taxonomy';
if ( cptui_taxonomy_slug_exists( $slug ) ) {
    echo 'このタクソノミースラッグはすでに存在します。';
} else {
    echo 'タクソノミースラッグはユニークです。';
}

このサンプルコードは、特定のタクソノミースラッグが存在するかどうかを確認し、結果に応じたメッセージを表示します。

サンプルコード 2

function check_taxonomy_slug() {
    $slug = 'category';
    if ( cptui_taxonomy_slug_exists( $slug ) ) {
        return 'このスラッグは使用されているため新しいスラッグを指定してください。';
    }
    return 'スラッグは利用可能です。';
}

add_action( 'init', 'check_taxonomy_slug' );

このサンプルコードでは、initアクションフックによってタクソノミースラッグの存在を確認し、その結果を返します。

サンプルコード 3

function register_custom_taxonomy() {
    $slug = 'event_category';
    if ( ! cptui_taxonomy_slug_exists( $slug ) ) {
        register_taxonomy( $slug, 'post' );
    }
}

add_action( 'init', 'register_custom_taxonomy' );

このコードは、指定したスラッグが存在しない場合にカスタムタクソノミーを登録する例です。

サンプルコード 4

function validate_taxonomy_slug( $slug ) {
    if ( cptui_taxonomy_slug_exists( $slug ) ) {
        throw new Exception( 'タクソノミーのスラッグが既に存在しています。' );
    }
}

try {
    validate_taxonomy_slug( 'archive' );
} catch ( Exception $e ) {
    echo $e->getMessage();
}

ここでは、カスタムタクソノミーのスラッグを検証し、存在する場合は例外を投げるサンプルです。

サンプルコード 5

function display_slug_check() {
    if ( cptui_taxonomy_slug_exists( 'tag' ) ) {
        echo '<p>一般的なタクソノミースラッグである「tag」は既に登録されています。</p>';
    }
}

add_action( 'wp_footer', 'display_slug_check' );

このサンプルコードは、wp_footerフックを使用して、特定のスラッグが既に存在するかどうかを確認し、その結果をフッターで表示します。

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


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