这guide 为我工作。就我而言,我正在使用CPT UI 要创建自定义帖子类型,ACF 创建自定义帖子字段,以及Code Snippets 把所有东西粘在一起。
我在下面包含了代码的简化版本。
改变custom-post-type-slug
, custom_post_type_slug
, 和custom_column_name
以满足您的需要。更改名称时,请确保保持相同的破折号/下划线格式。
请注意get_field()
特定于ACF插件。如果未使用ACF,则可能需要使用内置get_post_meta()
WordPress函数用于检索和显示帖子元数据。
add_filter(\'manage_custom-post-type-slug_posts_columns\', \'set_custom_edit_custom_post_type_slug_columns\');
function set_custom_edit_custom_post_type_slug_columns($columns) {
$columns[\'custom_column_name\'] = \'Custom Column Title\';
return $columns;
}
add_action(\'manage_custom-post-type-slug_posts_custom_column\' , \'custom_custom_post_type_slug_column\', 10, 2);
function custom_custom_post_type_slug_column($column, $post_id) {
switch ($column) {
case \'custom_column_name\':
echo get_field(\'custom_column_name\', $post_id);
break;
}
}
add_filter(\'manage_edit-custom-post-type-slug_sortable_columns\', \'set_custom_custom_post_type_slug_sortable_columns\');
function set_custom_custom_post_type_slug_sortable_columns($columns) {
$columns[\'custom_column_name\'] = \'custom_column_name\';
return $columns;
}
add_action(\'pre_get_posts\', \'custom_post_type_slug_custom_orderby\');
function custom_post_type_slug_custom_orderby($query) {
if ( ! is_admin()) {
return;
}
$orderby = $query->get(\'orderby\');
if (\'custom_column_name\' == $orderby) {
$query->set(\'meta_key\', \'custom_column_name\');
$query->set(\'orderby\', \'meta_value_num\');
}
}