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 210
$args = apply_filters( 'acf/fields/relationship/query', $args, $field, $options['post_id'] );