月度归档: 2021 年 5 月

  • wordpress 自定义文章类型文章列表显示分类列

    只需要在register_taxonomy函数的第三个参数中,添加show_admin_column=>true即可。代码如下:

    <?php
    
    /**
     * 为产品 post type 添加分类功能
     */
    add_action('init', 'my_taxonomies_product', 0);
    function my_taxonomies_product() {
        $labels = array(
            'name'              => _x('产品分类', 'taxonomy 名称'),
            'singular_name'     => _x('产品分类', 'taxonomy 单数名称'),
            'search_items'      => __('搜索产品分类'),
            'all_items'         => __('所有产品分类'),
            'parent_item'       => __('该产品分类的上级分类'),
            'parent_item_colon' => __('该产品分类的上级分类:'),
            'edit_item'         => __('编辑产品分类'),
            'update_item'       => __('更新产品分类'),
            'add_new_item'      => __('添加新的产品分类'),
            'new_item_name'     => __('新产品分类'),
            'menu_name'         => __('产品分类'),
        );
        $args = array(
            'labels' => $labels,
            'hierarchical' => true,
            'show_admin_column' => true,
        );
        register_taxonomy('product_category', 'product', $args);
    }

    如果要在列表中添加自定义字段,即wp_postmeta表中的字段(通过meta_box添加的),可以使用下面的代码:

    <?php
    // 在列表中把加的字段显示出来
    add_action("manage_posts_custom_column",  "product_custom_columns");
    function product_custom_columns($column) {
        global $post;
        switch ($column) {
            case "product_director":
                echo get_post_meta($post->ID, '_product_director', true);
                break;
        }
    }
    
    add_filter("manage_edit-product_columns", "movie_edit_columns");
    function movie_edit_columns($columns) {
        $columns['product_director'] = '产品分类';
        return $columns;
    }