我有一个自定义的帖子类型,并试图设置自定义列,默认情况下,日期列就在那里,它正好出现在标题之后。我是否必须先取消日期设置,然后再重新应用它,或者是否有更优雅的方法来实现这一点:
function custom_columns($columns) {
unset( $columns[\'date\'] );
$columns = array_merge($columns, array(
\'title\' => \'Alert Title\',
\'region\' => \'Region\',
\'date\' => \'Date\',
)
);
return $columns;
}
最合适的回答,由SO网友:brasofilo 整理而成
这是唯一要做的事情:数组操作。
过滤器manage_edit-CPT_columns
是在class-wp-list-table.php
:
add_filter( "manage_{$this->screen->id}_columns", array( &$this, \'get_columns\' ), 0 );
从而分派该功能
get_columns()
在子类中
class-wp-posts-list-table.php
.
在它内部,一个过滤器用于分类,另一个过滤器用于post/page/cpt列
它们都处理数组元素
可能存在一个带有一些PHP函数的单行解决方案,但两行代码也是有效的。