slug = 'terms'; $this->title = esc_html__( 'Terms', 'elasticpress' ); $this->summary = '

' . __( 'This feature will empower your website to overcome traditional WordPress term search and query limitations that can present themselves at scale. This feature is only needed if you are using WP_Term_Query directly.', 'elasticpress' ) . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#terms', 'elasticpress' ); $this->requires_install_reindex = true; Indexables::factory()->register( new Indexable\Term\Term(), false ); parent::__construct(); } /** * Setup search functionality * * @since 3.1 */ public function setup() { Indexables::factory()->activate( 'term' ); add_action( 'init', [ $this, 'search_setup' ] ); } /** * Setup search integration * * @since 3.1 */ public function search_setup() { add_filter( 'ep_elasticpress_enabled', [ $this, 'integrate_search_queries' ], 10, 2 ); add_filter( 'ep_term_fuzziness_arg', [ $this, 'set_admin_terms_search_fuzziness' ] ); } /** * Output feature box long text * * @since 3.1 */ public function output_feature_box_long() { ?>

query_vars['ep_integrate'] ) && ! filter_var( $query->query_vars['ep_integrate'], FILTER_VALIDATE_BOOLEAN ) ) { $enabled = false; } elseif ( ! empty( $query->query_vars['search'] ) ) { $enabled = true; } return $enabled; } /** * Determine feature reqs status * * @since 3.1 * @return FeatureRequirementsStatus */ public function requirements_status() { $status = new FeatureRequirementsStatus( 1 ); return $status; } /** * Change fuzziness level for terms search in admin * * @param {int} $fuzziness Amount of fuzziness to factor into search * @since 3.6.4 * @return int */ public function set_admin_terms_search_fuzziness( $fuzziness ) { if ( is_admin() ) { $fuzziness = 0; } return $fuzziness; } }