Код для расширения поля поиска для пользовательских типов записей в админке WordPress - PullRequest
0 голосов
/ 16 октября 2019

Я заканчиваю wordpress веб-сайт для набора людей. Я также настраиваю область администратора и создал собственный тип записи, чтобы агент HR мог быстро создавать заметки рядом с резюме.

Через functions.php я смог создатьстолбец, сделать данные для отображения и сделать их редактируемыми через меню быстрого редактирования. Теперь я хочу, чтобы вставленные данные были доступны для поиска через окно поиска. Я работаю в последней версии wordpress с PHP Версия 7.3.7. Я нашел следующий код, попытался применить на моем конце, но не знаю, изменил ли я все необходимое для работы.

// Search custom post type
   function extend_admin_search( $query ) {
   // Extend search for document post type
   $post_type = 'document';
   // Custom fields to search for
   $custom_fields = array(
       "_noo_resume_field_resume_note",
   );
   if( ! is_admin() )
       return;
   if ( $query->query['post_type'] != $post_type )
       return;
   $search_term = $query->query_vars['s'];
// Set to empty, otherwise it won't find anything
   $query->query_vars['s'] = '';
   if ( $search_term != '' ) {
       $meta_query = array( 'relation' => 'OR' );
       foreach( $custom_fields as $custom_field ) {
           array_push( $meta_query, array(
               'key' => $custom_field,
               'value' => $search_term,
               'compare' => 'LIKE'
           ));
       }
       $query->set( 'meta_query', $meta_query );
   };
}
add_action( 'pre_get_posts', 'extend_admin_search' );

Ожидалось, что все сообщения с определенным словом будут найдены вэто настраиваемое поле называется заметки, но я получаю 0 результатов. Я нахожусь в режиме отладки 'on', и этот код не показывает никакой ошибки.

...