自定义分类Meta Admin列

时间:2013-12-19 作者:Ralphonz

我添加了一个自定义的分类法-shop\\u departments,它是分层的。然后,我在这个新的分类法中添加了一个元字段-term\\u meta[首页]-这一切都很好。

然而,在分类法的管理屏幕上,我需要一列元数据,这样用户可以一目了然地看到哪些部门被分配到了首页。

我不知道如何在这个页面上添加列。我想做如下事情:

// Register the column
function front_page_column_register( $columns ) {
$columns[\'front-page\'] = __( \'Front Page\', \'my-plugin\' );

return $columns;
}
add_filter( \'manage_edit-shopp_department_columns\', \'front_page_column_register\' );
任何帮助都会很好,我找到的所有文章都在谈论将其添加到帖子或自定义帖子类型编辑页面,而不是分类页面本身!

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

我设法解决了这个问题。似乎只有在包装为“admin\\u init”操作时,过滤器才起作用。我的最后一段代码,用于将自定义分类法元“front\\u page”的管理列添加到My themes函数中的自定义分类法“shopp\\u department”。php

// Register the column
function department_add_dynamic_hooks() {
$taxonomy = \'shopp_department\';
add_filter( \'manage_\' . $taxonomy . \'_custom_column\', \'department_taxonomy_rows\',15, 3 );
add_filter( \'manage_edit-\' . $taxonomy . \'_columns\',  \'department_taxonomy_columns\' );
}
add_action( \'admin_init\', \'department_add_dynamic_hooks\' );

function department_taxonomy_columns( $original_columns ) {
$new_columns = $original_columns;
array_splice( $new_columns, 1 );
$new_columns[\'frontpage\'] = esc_html__( \'Front Page\', \'taxonomy-images\' );
return array_merge( $new_columns, $original_columns );
}

function department_taxonomy_rows( $row, $column_name, $term_id ) {
$t_id = $term_id;
$meta = get_option( "taxonomy_$t_id" );
if ( \'frontpage\' === $column_name ) {
    if ($meta == true) {
        return $row . \'Yes\';
    } else {
        return $row . \'No\';
    }   
}
希望这对别人有帮助。

结束

相关推荐