概要
cptui_taxonomy_slug_exists
は、WordPressのプラグインCustom Post Type UIに由来する関数で、タクソノミー(分類)のスラッグが既に存在するかどうかを確認するために使用されます。この関数は、データベース内に登録されているタクソノミースラッグがユニークであることを保証するためによく利用されます。
一般的な使用ケース
- 新しいカスタムタクソノミーを追加する際に、スラッグの重複を確認する。
- タクソノミーのスラッグを編集する前に、競合を防止するためのバリデーション。
- カスタム書き方の後にスラッグ管理を行うプラグイン開発時。
- ユーザーインターフェースでタクソノミー設定を行う際のスラッグのチェック。
- テーマやプラグインが推奨するカスタムタクソノミー設定に合わせてスラッグを動的に生成する。
- カスタムタクソノミーのスラッグ設定が無効でないかチェックする。
この関数は、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
フックを使用して、特定のスラッグが既に存在するかどうかを確認し、その結果をフッターで表示します。