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
コメント