Intereting Posts
Примеры использования WordPress как CMS на рынке B2B (Business-to-Business) Как изменить боковую панель на страницу? Ограничить интерфейс CPT с помощью пользовательской роли пользователя Список категорий Сообщения, не показывающие сообщения, помеченные как приватные для зарегистрированных пользователей WPML CMS Nav и Custom Nav_Walker Неопределенные уведомления о свойствах Создание резервной копии таблицы Где найти код, используемый для визуализации страницы с коротким кодом и определенным шаблоном? jQuery undefined ошибка функции с WP jQuery, но работает с Google CDN WP идентифицирует плагин по имени плагина или plugin_basename? Что такое статус «защищенного» статуса? Пост-регистрация, после мета-крючка? Добавить Word Limit в сообщения Как определить, в каком режиме находится редактор и когда он изменяется? Создать страницу архива с помощью Visual Composer Введите, сохраните и отобразите текст из текстовой области или поля

Поиск в ACF

У меня есть обычная история имен типа. Он имеет настраиваемое поле с именем «select_artist» с отношением к пользовательскому типу post artist .

На странице редактирования истории я хочу использовать окно поиска для поиска названия «select_artist» . На данный момент он будет возвращать результаты только при поиске идентификатора должности художника, однако я хочу, чтобы иметь возможность искать название должности художника.

Какие-либо предложения?

Solutions Collecting From Web of "Поиск в ACF"

Вот фрагмент кода, который будет делать то, что вы описали:

 add_action( 'pre_get_posts', 'wpsx_185734_acf_search_relationship' ); function wpsx_185734_acf_search_relationship( $q ) { $screen = get_current_screen(); $s = $q->get('s'); $post_type = $q->get('post_type'); // Be very selective when running code at the pre_get_posts hook if ( ! is_admin() || empty( $s ) || ( isset( $screen->post_type ) && 'story' != $screen->post_type ) || 'story' != $post_type ) { return; } // get all artists that match the search parameter $s $found_artists = get_posts( array('post_type' => 'artist', 'nopaging' => true, 's' => $s, 'fields' => 'ids') ); // build a meta query to include all posts that contain the matching artist IDs in their custom fields $meta_query = array(); foreach ( $found_artists as $artist_id ) { $meta_query[] = array( 'key' => 'select_artist', // name of custom field 'value' => '"' . intval($artist_id) . '"', // matches exactly "123", not just 123. This prevents a match for "1234" 'compare' => 'LIKE' ); } $q->set( 'meta_query', $meta_query ); $q->set( 's', '' ); // unset the original query parameter to avoid errors } 

В приведенном выше коде предполагается, что вы зарегистрировали пользовательские типы сообщений и добавили поле отношений ACF с именем «select_artist», присвоенное типу post story.

Я создал публичный сундук, который также содержит код для регистрации пользовательских типов сообщений и группы полей, поэтому он будет работать как автономный плагин: https://gist.github.com/jancbeck/fdd8f0c796778f6263d0