acf/fields/relationship/query
Позволяет изменить аргументы, используемые в WP_Query для отображения записей в поле Relationship (Записи).
Этот фильтр срабатывает для всех полей этого типа. У него есть модификаторы:
- acf/fields/relationship/query/name={$name} - для конкретного имени, например
post_ids. - acf/fields/relationship/query/key={$key} - для конкретного ключа, например
field_62fbfa0537a76.
Использование
add_filter( 'acf/fields/relationship/query', 'wp_kama_acf_fields_relationship_query_filter', 10, 3 );
/**
* Function for `acf/fields/relationship/query` filter-hook.
*
* @param $args
* @param $field
* @param $options_post_id
*
* @return
*/
function wp_kama_acf_fields_relationship_query_filter( $args, $field, $options_post_id ){
// filter...
return $args;
}
- $args(массив)
Массив аргументов для WP_Query(). Например:
Array( [posts_per_page] => 20 [paged] => 1 [post_type] => Array( [0] => school ) )
- $field(массив)
Конфигурация поля. Например:
- $post_id(число/строка)
- ID текущей редактируемой записи.
Примеры
#1 Изменения параметров
По умолчанию поле "Записи" отображает лишь 20 материалов. Изменим это значение до 40 для всех полей типа "Записи".
add_filter('acf/fields/relationship/query', 'my_acf_fields_relationship_query', 10, 3);
function my_acf_fields_relationship_query( $args, $field, $post_id ) {
$args['posts_per_page'] = 40;
return $args;
}
Где вызывается хук
acf/fields/relationship/query
acf/includes/fields/class-acf-field-relationship.php 218
$args = apply_filters( 'acf/fields/relationship/query', $args, $field, $options['post_id'] );