答案 0 :(得分:1)
问题是您试图在此处访问$screen
变量:
add_filter( 'manage_' . $screen -> post_type . '_posts_columns', 'change_column_name' );
...但是这是在change_column_name
函数外部进行设置的地方,因此当您尝试将其用于add_filter.
时不存在
您可以像这样将自定义帖子类型直接添加到manage_XXX_posts_columns
中:
add_filter( 'manage_staff_posts_columns', 'change_column_name' );
add_filter( 'manage_movies_posts_columns', 'change_column_name' );
但是,您无需为要更改的每个CPT进行此操作-您可以加入默认的manage_posts_columns
,它将在所有帖子(甚至是CPT)上运行:
add_filter( 'manage_posts_columns', 'change_column_name' );
您只需要检查功能中的CPT并仅更改这些标题-并且您已经在执行此操作,因此您无需更改功能中的任何内容即可以这种方式进行操作。