Php 使用自定义字段值(ACF字段)将筛选器添加到管理列
我想在我的自定义帖子类型中添加一个过滤器选项,该选项带有我从ACF(高级自定义字段)获得的自定义字段值。我尝试了很多次,但无法在我的管理列中添加过滤器。以下是一些我尝试过但未成功的代码片段: 在my functions.php中Php 使用自定义字段值(ACF字段)将筛选器添加到管理列,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我想在我的自定义帖子类型中添加一个过滤器选项,该选项带有我从ACF(高级自定义字段)获得的自定义字段值。我尝试了很多次,但无法在我的管理列中添加过滤器。以下是一些我尝试过但未成功的代码片段: 在my functions.php中 add_filter('manage_edit-managemeetings_columns', 'extra_managemeetings_columns'); function extra_managemeetings_columns($columns){
add_filter('manage_edit-managemeetings_columns', 'extra_managemeetings_columns');
function extra_managemeetings_columns($columns){
$columns['meeting_year'] = "Meeting Year";
// echo $columns['date'];
return $columns;
}
add_action( 'manage_managemeetings_posts_custom_column', 'managemeetings_column', 10, 2);
function managemeetings_column( $column, $post_id ) {
// Image column
if ( 'meeting_year' === $column ) {
$meeting_data = get_field('meeting_date', $post_id);
echo date('Y',strtotime($meeting_data));
}
}
add_filter( 'manage_edit-managemeetings_sortable_columns', 'hcwdb_managemeetings_sortable_columns');
function hcwdb_managemeetings_sortable_columns( $columns ) {
$columns['meeting_year'] = 'meeting_date';
return $columns;
}
function filter_managemeetings( $query ) {
global $pagenow;
// Get the post type
//modify the query only if it admin and main query.
if( !(is_admin() AND $query->is_main_query()) ){
return $query;
}
//we want to modify the query for the targeted custom post and filter option
if( !('managemeetings' === $query->query['post_type'] AND isset($_REQUEST['meeting_date']) ) ){
return $query;
}
$post_type = isset( $_GET['post_type'] ) ? $_GET['post_type'] : "";
if ( is_admin() && $pagenow=='edit.php' && $post_type == 'managemeetings' && isset( $_GET['meeting_date'] ) && $_GET['meeting_date'] !='all' ) {
$query->query_vars['meta_key'] = 'meeting_date';
$query->query_vars['meta_value'] = $_GET['meeting_date'];
$query->query_vars['meta_compare'] = 'LIKE';
var_dump($query);
// error_log(var_export($query, true));
}
}
add_action( 'restrict_manage_posts', 'filter_managemeetings') ;
我的自定义帖子类型名称是:managemeetings
我的自定义字段键名是:meeting_date(在ACF插件中设置)
若有人让我知道任何技术来过滤我的自定义帖子代表我的自定义字段值。或如有可能,如附件所示(如果我们单击会议类别,它将过滤与该类别相关的数据,因为我想在会议年份列中应用)
请在这方面帮助我