Algolia Wordpress Ограничить поиск только заголовками сообщений

Есть ли способ ограничить поиск только публикациями заголовков с Algolia в Wordpress?

Мне нужно это для функции автозаполнения.


person JoaMika    schedule 09.11.2016    source источник


Ответы (1)


Вы можете определенно настроить, на каком поле будет основан поиск.

Прежде всего, вы должны сообщить 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;
            }
            }
            #>
person rayrutjes    schedule 10.11.2016
comment
если я удалю всю эту часть, я не получу результатов автозаполнения. Вы имеете в виду, что мне просто нужно удалить атрибут «контент»? - person JoaMika; 19.11.2016
comment
Не могли бы вы поделиться живым экземпляром, чтобы мы могли увидеть возможные ошибки? - person rayrutjes; 19.11.2016