WordPress カスタムタクソノミー追加時(register_taxonomy)の名称に大文字は利用出来ない?

register_taxonomy() 関数で任意のカスタムタクソノミーを追加することができますが、第一引数に指定する名称に大文字を指定出来ないようです。

検証

カスタムタクソノミー追加

検証のため「blogCat」というカスタムタクソノミーを追加します。

// ブログカテゴリー
$args = array(
    'label'                 => 'ブログカテゴリー',
    'public'                => true,
    'show_ui'               => true, /* 項目の表示 */
    'query_var'             => true,
    'hierarchical'          => true, /* 階層化あり */
    'update_count_callback' => '_update_post_term_count',
    'rewrite'            => array('slug'=>'category','with_front'=>false),
);
register_taxonomy('blogCat','blog',$args);

ターム編集テスト

タームの新規追加は全く問題なかったのですが、クイック編集を行おうとすると「0」とだけエラーが表示され編集出来ませんでした。(※クイック編集ではない通常の編集は動きました)

アーカイブページ表示テスト

「/blogCat/tax-test/」というタクソノミーのアーカイブページは “Not Found” となりました。管理画面のターム名にマウスを当てた際に表示される「表示」のリンク先は 「/blogcat/tax-test/」 小文字に変換されており小文字でページを表示すると正常にアーカイブページが表示されました。

環境情報

WordPress 5.2.3
PHP 7.3.12
さくらのレンタルサーバ スタンダード

まとめ

タクソノミーの追加自体は出来てしまったので、いくつか検証は行ってみましたが、Codex を見ても大文字はNGのようでしたので、仕様に沿って開発業務を行いたいと思います。

$taxonomy (文字列) (必須) タクソノミーの名前。英小文字とアンダースコアのみ、32文字以下(データベース構造による制限)。

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/register_taxonomy

コメント

タイトルとURLをコピーしました