5

カスタム投稿タイプの管理ウィンドウに列を追加して、カスタム分類を表示したいと考えています。

@SarthakGupta が提供するこのソリューションは、私のために列を作成しますが、分類も「分類が設定されていません」というメッセージもエコーしません: カスタム投稿タイプのリストにカスタム分類列を表示する

空の分類列について同様の苦情があり、同様の解決策が他の場所に投稿されているのを見たことがあります。

問題の原因は何ですか? このソリューションが WordPress 3.3 で動作しない可能性はありますか?

ありがとう。

4

2 に答える 2

24

WordPress 3.5 以降では、カスタム分類法を登録するときに、次のように追加して有効にすることができます。

'show_ui'           => true,
'show_admin_column' => true,
于 2013-04-30T13:21:45.757 に答える
7

私はこの問題を抱えていて、WP 関数 get_the_terms をカスタムクエリに置き換えるとうまくいくことがわかりました - 試してください (ここで custtype はカスタム投稿タイプの名前です):

// custom columns
add_filter("manage_edit-custtype_columns", "custtype_columns");
add_action("manage_posts_custom_column", "custtype_custom_columns",10,2);

function custtype_columns($columns){
    $columns = array(
        "cb" => "<input type=\"checkbox\" />",
        "title" => "Title",
        "slug" => "URL Slug",
        "custtype-type" => "Custom Taxonomy"
    );
    return $columns;
}

function custtype_custom_columns($column,$id) {
    global $wpdb;
        switch ($column) {
        case 'custtype-type':
            $types = $wpdb->get_results("SELECT name FROM $wpdb->posts LEFT OUTER JOIN $wpdb->term_relationships ON ID = object_id LEFT OUTER JOIN $wpdb->terms ON term_taxonomy_id = term_id WHERE ID = {$id}");
            foreach($types as $loopId => $type) {
                echo $type->name.', ';
            }
            break;
        case 'slug':
            $text = basename(get_post_permalink($id));
            echo $text;
            break;
        default:
            break;
        } // end switch
}

それはまったく機能しますか?

于 2012-03-21T16:14:50.060 に答える