php - 在 WP 管理员中更改自定义帖子类型的列标题名称
问题描述
我创建了 2 个自定义帖子类型,员工和电影。尝试在一个代码段中更改两种自定义帖子类型的标题列名称,但无法弄清楚。这是我到目前为止所拥有的:
function change_column_name( $columns ) {
$screen = get_current_screen();
if ( 'staff' == $screen -> post_type ) {
$columns['title'] = 'Staff Name';
}
elseif ( 'movies' == $screen -> post_type ) {
$columns['title'] = 'Movie Title';
}
return $columns;
}
add_filter( 'manage_' . $screen -> post_type . '_posts_columns', 'change_column_name' );
这是我要更改的标题:
解决方案
问题是您试图在$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 并只更改这些标题 - 您已经在这样做了,因此您无需更改函数中的任何内容即可这样做。
推荐阅读
- angularjs - Angularjs - ng-invalid 在 ng-repeat 表中的选择元素上无法正常工作
- windows - git 在 Visual Studio 代码中无法识别
- sql - Bash 清除脚本
- azure-service-fabric - 记录服务结构应用程序中的所有异常
- python - scikit-learn MDS 的解释差异
- java - SpringBoot 1.5+ junit 测试不加载自定义名称的配置
- java - 在 JDK 9 上使用 Ignite
- regex - 对 logcheck 规则使用否定逻辑
- python-3.x - 在散景中实现嵌套图表时出现提升值错误
- amazon-web-services - 使用 Curl(通过低级 API)将记录插入 Amazon 的 DynamoDB