Я заканчиваю 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', и этот код не показывает никакой ошибки.