我试图让edit-tags.php上的管理列可以按ACF字段值排序,但我错过了一些东西。我可以单击列标题对列进行排序,但它只按标记名称排序表,而不是列中的ACF字段值。如果有人可以提供帮助,我真的很感激!
我已经设置了要添加的列:
/**
* Add columns to the post_tags admin table
*/
function add_post_tag_columns($columns){
$columns['featured'] = 'Featured';
$columns['order'] = 'Order';
$columns['group'] = 'Group';
// Remove description column from table
unset( $columns['description'] );
return $columns;
}
add_filter('manage_edit-post_tag_columns', 'add_post_tag_columns');
我已在每列中设置了代码的值:
/**
* Set values for new post_tags admin table columns
*/
function add_post_tag_column_content( $content, $column_name, $term_id ){
$term= get_term($term_id, 'post_tag');
switch ( $column_name ) {
// display the value of ACF fields
case 'featured' :
$content = the_field( 'kw_featured_tag', $term );
break;
case 'order' :
$content = the_field( 'kw_tag_order', $term );
break;
case 'group' :
$content = the_field( 'kw_group_tags', $term );
break;
}
return $content;
}
add_filter('manage_post_tag_custom_column', 'add_post_tag_column_content', 10, 3);
我已设置了列排序
/**
* Make columns on post_tags admin table sortable
*/
function set_custom_post_tag_sortable_columns( $sortable_columns ) {
$sortable_columns['featured'] = 'kw_featured_tag';
$sortable_columns['order'] = 'kw_tag_order';
$sortable_columns['group'] = 'kw_group_tags';
return $sortable_columns;
}
add_filter( 'manage_edit-post_tag_sortable_columns', 'set_custom_post_tag_sortable_columns' );
这里[我认为]我遇到了这个问题:
/**
* Set up the orderby for the column sorting
*/
function post_tag_custom_orderby( $query ) {
if ( ! is_admin() )
return;
$orderby = $query->get( 'orderby');
if ( 'featured' == $orderby ) {
$query->set( 'meta_key', 'kw_feature_tag' );
$query->set( 'orderby', 'meta_value_num' );
}
elseif ( 'order' == $orderby ) {
$query->set( 'meta_key', 'kw_tag_order' );
$query->set( 'orderby', 'meta_value_num' );
}
elseif ( 'group' == $orderby ) {
$query->set( 'meta_key', 'kw_group_tags' );
$query->set( 'orderby', 'meta_value' );
}
}
add_action( 'pre_get_posts', 'post_tag_custom_orderby' );
如果有人可以帮助缩小我做错的事情,我会成为一个非常开心的Wordpress开发者:P。提前谢谢!
-
编辑:这是我的管理员表格的几个屏幕截图: