在创建类别后立即在分类类别列表中显示自定义分类列

时间:2013-05-05 作者:Morteza

我使用以下代码添加自定义分类列:

function manage_my_category_columns($columns)
    {
     if ( !isset($_GET[\'taxonomy\']) || $_GET[\'taxonomy\'] != \'products\' )
     return $columns;
     $columns[\'image_column\'] = \'Image\';
     return $columns;
}
add_filter(\'manage_edit-products_columns\',\'manage_my_category_columns\');

function manage_category_custom_fields($deprecated,$column_name,$term_id){
     if ($column_name == \'image_column\') {
       $t_id = $term_id;
       $cat_meta = get_option( "products_$t_id");
       echo "<img src=\'".$cat_meta[\'img\']."\' style=\'height:50px;width:50px;\'/>";

     }
    }
add_action(\'manage_products_custom_column\',\'manage_category_custom_fields\',10,3);
添加新类别时,创建后不会立即显示自定义列:enter image description here

页面刷新后,将显示自定义列:enter image description here

有没有办法在创建新类别后立即用默认列显示自定义列?

1 个回复
最合适的回答,由SO网友:brasofilo 整理而成

发生的情况是:

页面/wp-admin/edit-tags.php 使用$_GET[\'taxonomy\']

/wp-admin/admin-ajax.php, 创建新术语时激发,使用$_POST[\'taxonomy\']

要解决此问题,请使用$_REQUEST 在里面manage_my_category_columns().
它将涵盖GET和POST:

if ( !isset( $_REQUEST[\'taxonomy\']) || $_REQUEST[\'taxonomy\'] != \'products\' )
<小时>Related Q&A:
WP List Table custom quick edit box - post meta data missing and columns change on submit

结束

相关推荐

如何在查询中模拟Taxonomy__in?

如何设置tax\\u查询以获得“category\\u in”=>array()之类的结果?具体地说,我想展示所有具有城市分类法术语的帖子,其中一个id是:$cities = array(23,34,45,56);这是我目前使用的代码。$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; $args = array( \'meta_query\' => array(