Есть ли способ ограничить поиск только публикациями заголовков с Algolia в Wordpress?
Мне нужно это для функции автозаполнения.
Есть ли способ ограничить поиск только публикациями заголовков с Algolia в Wordpress?
Мне нужно это для функции автозаполнения.
Вы можете определенно настроить, на каком поле будет основан поиск.
Прежде всего, вы должны сообщить Algolia, что вы хотите искать только в поле заголовка сообщения, изменив настройку attributesToIndex
:
/**
* @param array $settings
*
* @return array
*/
function custom_posts_index_settings( array $settings ) {
$settings['attributesToIndex'] = array( 'unordered(post_title)' );
return $settings;
}
add_filter('algolia_posts_index_settings', 'custom_posts_index_settings');
add_filter('algolia_searchable_posts_index_settings', 'custom_posts_index_settings');
Затем вам нужно настроить шаблоны предложений автозаполнения, сначала переместив файл autocomplete.php в папку вашей темы, как описано в этом руководстве: https://community.algolia.com/wordpress/customize-autocomplete.html
В основном вы удалите часть, которая выглядит следующим образом:
<#
var attributes = ['content', 'title6', 'title5', 'title4', 'title3', 'title2', 'title1'];
var attribute_name;
var relevant_content = '';
for ( var index in attributes ) {
attribute_name = attributes[ index ];
if ( data._highlightResult[ attribute_name ].matchedWords.length > 0 ) {
relevant_content = data._snippetResult[ attribute_name ].value;
break;
} else if( data._snippetResult[ attribute_name ].value !== '' ) {
relevant_content = data._snippetResult[ attribute_name ].value;
}
}
#>