サポート » 使い方全般 » カスタム投稿タイプを2つ設置した場合の一覧の項目表示

  • カスタム投稿タイプを2つ設置した場合、それぞれの一覧ページに項目を追加するにはどのように記述すればよろしいですか?
    http://www.yusk.org/memo/wp/custom-post-type_custom-taxonomy.html
    を参考に記述しましたがダッシュボードの画面が真っ白になってしまします。
    変数名の問題だと思います。

    現在function.phpには以下のように記述しております。

    <?php
    // カスタム投稿タイプを作成
    // 特価情報ニュース投稿タイプ
    function saleinfo_custom_post_type()
    {
    $labels = array(
    'name' => _x('特価情報', 'post type general name'),
    'singular_name' => _x('特価情報', 'post type singular name'),
    'add_new' => _x('特価情報を追加', 'saleinfo'),
    'add_new_item' => __('新しい特価情報を追加'),
    'edit_item' => __('特価情報を編集'),
    'new_item' => __('新しい特価情報'),
    'view_item' => __('特価情報を編集'),
    'search_items' => __('特価情報を探す'),
    'not_found' => __('特価情報はありません'),
    'not_found_in_trash' => __('ゴミ箱に特価情報はありません'),
    'parent_item_colon' => ''
    );
    $args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'menu_position' => 5,
    'has_archive' => true,
    'supports' => array('title','editor','author','excerpt','comments'),
    'taxonomies' => array('saleinfo_category','saleinfo_tag')
    );
    register_post_type('saleinfo',$args);
    // カスタムタクソノミーを作成
    //カテゴリータイプ
    $args = array(
    'label' => '製品カテゴリー',
    'public' => true,
    'show_ui' => true,
    'hierarchical' => true
    );
    register_taxonomy('saleinfo_category','saleinfo',$args);
    }
    add_action('init', 'saleinfo_custom_post_type');
    //管理画面記事一覧にカスタムタクソノミーの表示追加
    function manage_posts_columns($columns) {
            $columns['salecategory1'] = "製品カテゴリー";
            return $columns;
    }
    function add_posts_column($column_name, $post_id){
        //カテゴリー名取得
        if( $column_name == 'salecategory1' ) {
            $category = get_the_term_list($post_id, 'saleinfo');
        }
        //該当カテゴリーがない場合「なし」を表示
        if ( isset($category) && $category ) {
            echo $category;
        } else {
            echo __('None');
        }
    }
    add_filter('manage_edit-saleinfo_columns', 'manage_posts_columns');
    add_action('manage_posts_custom_column',  'add_column', 10, 2);
    
    ?>
    
    <?php
    // カスタム投稿タイプを作成
    // App Store情報ニュース投稿タイプ
    function appinfo_custom_post_type()
    {
    $labels = array(
    'name' => _x('App Store特価情報', 'post type general name'),
    'singular_name' => _x('App Store特価情報', 'post type singular name'),
    'add_new' => _x('App Store特価情報を追加', 'appinfo'),
    'add_new_item' => __('App Store新しい特価情報を追加'),
    'edit_item' => __('App Store特価情報を編集'),
    'new_item' => __('App Store新しい特価情報'),
    'view_item' => __('App Store特価情報を編集'),
    'search_items' => __('App Store特価情報を探す'),
    'not_found' => __('App Store特価情報はありません'),
    'not_found_in_trash' => __('ゴミ箱にApp Store特価情報はありません'),
    'parent_item_colon' => ''
    );
    $args = array(
    'labels' => $args,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'menu_position' => 5,
    'has_archive' => true,
    'supports' => array('title','editor','author','excerpt','comments'),
    'taxonomies' => array('appinfo_category','appinfo_tag')
    );
    register_post_type('appinfo',$args);
    // カスタムタクソノミーを作成
    //カテゴリータイプ
    $args = array(
    'label' => 'Appカテゴリー',
    'public' => true,
    'show_ui' => true,
    'hierarchical' => true
    );
    register_taxonomy('appinfo_category','appinfo',$args);
    }
    add_action('init', 'appinfo_custom_post_type');
    //管理画面記事一覧にカスタムタクソノミーの表示追加
    function manage_posts_columns($columns) {
            $columns['appcategory1'] = "app製品カテゴリー";
            return $columns;
    }
    function add_posts_column($column_name, $post_id){
        //カテゴリー名取得
        if( $column_name == 'appcategory1' ) {
            $category = get_the_term_list($post_id, 'appinfo');
        }
        //該当カテゴリーがない場合「なし」を表示
        if ( isset($category) && $category ) {
            echo $category;
        } else {
            echo __('None');
        }
    }
    add_filter('manage_edit-appinfo_columns', 'manage_posts_columns');
    add_action('manage_posts_custom_column',  'add_column', 10, 2);
    ?>
4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター jim912

    (@jim912)

    pivotakさん、こんにちは。

    真っ白になったら、まずは、エラーメッセージを表示させて、原因を見つけて下さい。

    ソースをみた中では、コールバックの関数名が違っているようでした。

    add_action('manage_posts_custom_column', 'add_posts_column', 10, 2);
    トピック投稿者 pivotak

    (@pivotak)

    エラーを確認したところ

    Fatal error: Cannot redeclare manage_posts_columns() (previously declared in
    hogehoge/functions.php:82) in /hogehogei/functions.php on line 151

    が確認できました。

    モデレーター jim912

    (@jim912)

    pivotakさん

    Cannot redeclare manage_posts_columnsは、manage_posts_columnsの再定義はできません。(同じ名前の関数を使うことはできません)という意味です。2つの投稿タイプで異なる関数名にしてください。

    トピック投稿者 pivotak

    (@pivotak)

    jim912様

    ありがとうございます。
    PHPに関する知識が乏しく勉強中の身で、初歩的なことが出来てませんね・・・。

    どの関数名を、どのようにすればよいのかご教授頂けませんでしょうか?

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタム投稿タイプを2つ設置した場合の一覧の項目表示」には新たに返信することはできません。