サポート » 使い方全般 » カスタム投稿タイプを複数作る方法

  • 解決済 isseiaone

    (@isseiaone)


    こんにちは。

    カスタム投稿を複数作ることが出来ずに困っています。
    現在下記のような記述をfunctions.phpに書き込んでカスタム投稿を1つ追加しました。

    /*** bbd-カスタム投稿01 ***/
    add_action( 'init', 'create_post_type' );
    function create_post_type() {
        register_post_type( 'jirei01',
            array(
            'labels' => array(
            'name' => __( '一般住宅事例' ),
            'singular_name' => __( '一般住宅事例' )
            ),
            'public' => true,
            'has_archive' => true,
            'menu_position' => 5,
            )
        );
    }

    更にもう1つカスタム投稿を増やしたく、下記のようにfunctions.phpに上記記述をそのままコピーしてポストタイプ名等を変更して上記記述の真下にペーストしアップデートしました。

    /*** bbd-カスタム投稿01 ***/
    add_action( 'init', 'create_post_type' );
    function create_post_type() {
        register_post_type( 'jirei01',
            array(
            'labels' => array(
            'name' => __( '一般住宅事例' ),
            'singular_name' => __( '一般住宅事例' )
            ),
            'public' => true,
            'has_archive' => true,
            'menu_position' => 5,
            )
        );
    }
    /*** bbd-カスタム投稿02 ***/
    add_action( 'init', 'create_post_type' );
    function create_post_type() {
        register_post_type( 'jirei02',
            array(
            'labels' => array(
            'name' => __( '事務所店舗事例' ),
            'singular_name' => __( '事務所店舗事例' )
            ),
            'public' => true,
            'has_archive' => true,
            'menu_position' => 5,
            )
        );
    }

    すると何故か管理画面が真っ白になって何も見えなくなってしまいます。
    二つ目の記述を削除して一つだけのカスタム投稿の状態に戻すと管理画面は
    正常に表示されます。

    二つ目以降のカスタム投稿の記述はどうしたらいいのでしょうか。
    是非お力添えよろしくお願いします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • PHPでは同名のfunctionを再定義できないので、二つ目の下記個所でエラーになっているのだと思います。

    function create_post_type() {

    なので、create_post_type()の名前(add_action内も)をそれぞれ変えれば動くと思います。

    詳しく分からないのであれば、Custom Post Type UIという便利なプラグインがありますので、特別な理由が無ければ(多言語対応の記述が出来るかあやしい)、個人的にはそちらの使用をおすすめします。

    http://wordpress.org/extend/plugins/custom-post-type-ui/

    add_action( 'init', 'create_post_type' );
    function create_post_type() {
        register_post_type( 'jirei01',
            array(
            'labels' => array(
            'name' => __( '一般住宅事例' ),
            'singular_name' => __( '一般住宅事例' )
            ),
            'public' => true,
            'has_archive' => true,
            'menu_position' => 5,
            )
        );
    
        register_post_type( 'jirei02',
            array(
            'labels' => array(
            'name' => __( '事務所店舗事例' ),
            'singular_name' => __( '事務所店舗事例' )
            ),
            'public' => true,
            'has_archive' => true,
            'menu_position' => 5,
            )
        );
    }
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カスタム投稿タイプを複数作る方法」には新たに返信することはできません。