• 解決済 tko429

    (@tko429)


    いつもお世話になっております。

    カスタム投稿タイプを作成し、そこにカスタムタクソノミー、タグタイプを
    functions.phpに追加をしたのですが、

    編集画面にカテゴリを選択するブロックが表示されません。
    ※ちなみにfunctions.phpで実装した場合、左メニューのところにも表示されません。

    プラグインのCustom Post Type UI.を使っても事情は一緒です。
    ※こちらは左メニューにカテゴリが追加され、カテゴリの登録まではできるのですが、
    肝心の記事編集画面にカテゴリ選択をするボックスがあらわれてくれません。

    ばっくりとした質問で申し訳ないのですが、同じような事象にあったかたがいらっしゃいましたらご教授いただけないでしょうか。

    以上よろしくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • モデレーター jim912

    (@jim912)

    カスタム投稿タイプを作成し、そこにカスタムタクソノミー、タグタイプを
    functions.phpに追加をしたのですが、

    具体的に functions.php にどのように記述されたのか提示いただいた方が良いかと思います。
    いただいた内容では、推測でしか回答できません。

    トピック投稿者 tko429

    (@tko429)

    コメントありがとうございます。
    記述については以下のようにしております。

    // カスタム投稿タイプの追加
    add_action( 'init', 'create_post_type' );
    
    function create_post_type() {
    	register_post_type( 'Newss', /* post-type */
    		array(
    			'labels' => array(
    			    	'name' => __( 'News' ),
    			    	'singular_name' => __( 'News' )
    		    	    	 ),
              	'public' => true,
              	'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'custom-fields' ,'comments' ),
              	'menu_position' =>5,
              	'has_archive' => true
        	    	)
    	);
    // カスタムタクソノミー、カテゴリタイプ
        	register_taxonomy(
        	    	'Newss-cat',
        	    	'Newss',
        	    	array(
        	    	    	'hierarchical' => true,
        	    	    	'update_count_callback' => '_update_post_term_count',
        	    	    	'label' => 'test',
        	    	    	'singular_label' => 'test',
        	    	    	'public' => true,
        	    	    	'show_ui' => true
        	    	    	)
        	);
    }

    間違ってるわけではないと思うのですが、
    わたくしの場合いつも下の感じで書いてますので、よければ試してみてください。

    //カスタム投稿「News」を追加 ----------------------------------------------------------------
    if ( function_exists('register_post_type') ) {
     $labels = array(
      'name' => __('News'),
      'singular_name' => __('News'),//管理バー
      'add_new' => __('News'),//メニューバーの表示
      'add_new_item' => __('新しいNewsを登録', 'tcd-w'),//新規作成のタイトル
      'edit_item' => __('現在のNewsを編集'),//編集
      'new_item' => __('New item'),//
      'view_item' => __('プレビュー'),//プレビュー
      'search_items' => __('検索'),//検索
      'not_found' => __('表示できるNewsはありません!'),//一覧に記事がない時
      'not_found_in_trash' => __('ゴミ箱は空です!'), //ゴミ箱が空の時
      'parent_item_colon' => ''//アイコン設定
     );
     register_post_type('news', array(
      'label' => __('news'),
      'labels' => $labels,
      'public' => true,
      'publicly_queryable' => true,
      'menu_position' => 5,
      'show_ui' => true,
      'query_var' => true,
      'rewrite' => array('slug' => 'news'),//URL
      'capability_type' => 'post',
      'has_archive' => true,
      'supports' => array('title' , 'comments' , 'page-attributes')//必要に応じて変えて
     ));
    };
    //カスタム分類を追加
      $args = array(
        'label' => __('ニュース分類'),
        'labels' => array(
          'name' => __('ニュース分類'),//管理メニューに表示名
          'singular_name' => __('ニュース分類'),
          'search_items' => __('検索'),//検索
          'popular_items' => __('よく使われる分類'),//よく使われる(ビルドインの時)
          'all_items' => __('全分類を表示'),//すべて(ビルドインの時)
          'parent_item' => __('親分類を選択せよ'),//親の選択(ビルドイン時)
          'edit_item' => __('現在の分類を編集'),//編集
          //'update_item' => __('変更内容を反映'),
          'add_new_item' => __('新しい業種を追加'),//登録ページタイトル
          'new_item_name' => __('新規'),
        ),
        'public' => true,
        'show_ui' => true,
        'show_admin_column' => true,
        'hierarchical' => true,
      );
    
      register_taxonomy(
      'newscat',//分類名
      array('News'),//ビルドインする投稿タイプ
      $args//上を読み込み
      );
    }

    えーっと1つ質問が
    左に表示されないというのは、管理メニューのことでしょうか。
    あと、slug名でたまに表示されない時があったので
    わたくしは、基本的に「-」は入れないようにしています。
    ※関係ないかもしれないです。

    あと、slug名でたまに表示されない時があったので
    わたくしは、基本的に「-」は入れないようにしています。
    ※関係ないかもしれないです。

    codexには、

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

    とありますね。

    - を使いたい場合は、register_taxonomy の引数に、'rewrite' => array( 'slug' => 'newss-cat' ) を追加して、タクソノミー名は別の文字列を使ってみるのはどうでしょう。

    モデレーター jim912

    (@jim912)

    投稿タイプの指定は、小文字である必要があります。

    $post_type
    (文字列) (必須) 投稿タイプ(最大 20 文字、大文字や空白は禁止)。

    初期値: なし

    引用:関数リファレンス/register post type 4 パラメータ

    トピック投稿者 tko429

    (@tko429)

    皆様有難うございます。
    一つ一つ切り分けましたら、
    Jim912様のご指摘の投稿タイプの大文字が原因でした。
    本当にありがとうございます。

    mimosafa様のご指摘の-も消しました。

    mura0403様
    記述を参考にさせていただきます。

    今後共よろしくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「カスタム投稿の編集画面にカテゴリーが表示されない」には新たに返信することはできません。