我试图创建一个过滤器,将自定义列添加到Wordpress中可能存在的任何自定义类别的编辑页面。我知道过滤器挂钩必须符合,manage_edit-{$cat}_columns
. 假设这是要添加的函数:
/* Add custom column to lists */
function add_shortlink_column( $columns ) {
return array_merge( $columns,
array( \'shortlink\' => __( \'Shortlink\', \'your_text_domain\' ) ) );
}
因为我想覆盖所有自定义类别(当前或未来),所以在调用get\\u分类法之后,我必须使用foreach循环来完成这项工作。
但是,add\\u filter导致了我的问题。。。
假设我只有两个类别;主题和product\\u目录。
如果我尝试这样做,一切都很好,并添加了以下列:
$value1 = \'topics\';
$value2 = \'product_cat\';
$filters = array( "manage_edit-{$value1}_columns", "manage_edit-{$value2}_columns" );
foreach ( $filters as $filter ) {
add_filter( $filter, \'add_shortlink_column\' );
}
然而,如果我尝试这样做,它不会起作用。
$args = array(
\'public\' => true,
\'_builtin\' => false
);
$taxonomies = get_taxonomies( $args, \'names\', \'and\' );
foreach($taxonomies as $key => $taxonomy) {
$filter = "manage_edit-{$taxonomy}_columns";
add_filter( $filter, \'add_shortlink_column\' );
}
我很确定这是某种语法问题。但我想不出来。任何帮助都将不胜感激。
谢谢