WordPress中的`manage_posts_custom_column`钩子是在管理后台的文章列表中添加自定义列时触发的钩子。
使用`manage_posts_custom_column`钩子前,需要先添加一个过滤器来指定要添加自定义列的文章类型。可以使用`manage_${post_type}_posts_columns`过滤器来实现。例如,要在文章列表中为“post”类型的文章添加自定义列,可以使用以下代码:
function custom_columns($columns) {
$columns['custom_column'] = '自定义列';
return $columns;
}
add_filter('manage_post_posts_columns', 'custom_columns');
在上述代码中,`custom_columns`函数返回一个包含自定义列的数组,数组的键为列的标识符,值为列的标题。通过添加`custom_column`键值对,可以在文章列表中添加一个名为“自定义列”的列。
接下来,可以使用`manage_posts_custom_column`钩子来输出自定义列的内容。使用这个钩子时,需要根据列的标识符进行判断,并输出对应的内容。例如,要为“custom_column”列添加内容,可以使用以下代码:
function custom_column_content($column, $post_id) {
if ($column == 'custom_column') {
echo '自定义列内容';
}
}
add_action('manage_posts_custom_column', 'custom_column_content', 10, 2);
在上述代码中,`custom_column_content`函数接受两个参数:列的标识符和文章的ID。通过判断列的标识符是否为“custom_column”,可以确定当前钩子是用来输出哪个列的内容。在这里,只要是“custom_column”列,就输出“自定义列内容”。
通过以上代码,就可以在文章列表中的“post”类型文章的末尾添加一个名为“自定义列”的列,并输出“自定义列内容”。
需要注意的是,`manage_posts_custom_column`钩子仅在管理后台的文章列表中生效,前端页面不会触发这个钩子。另外,`manage_posts_custom_column`钩子只能用于自定义列的输出,对于其他操作(如排序、筛选等),则需要使用其他的钩子和函数来实现。
0 个评论