diff --git a/assets/js/features/index.js b/assets/js/features/index.js index cf7f416e8..1c084f21a 100644 --- a/assets/js/features/index.js +++ b/assets/js/features/index.js @@ -1,7 +1,7 @@ /** * WordPress dependencies. */ -import { createRoot, render, WPElement } from '@wordpress/element'; +import { createInterpolateElement, createRoot, render, WPElement } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; /** @@ -42,9 +42,21 @@ const App = () => ( syncUrl={syncUrl} >

- {__( - 'Features explanation. Bacon ipsum dolor amet turkey cow turducken, tri-tip bresaola landjaeger biltong kevin short ribs alcatra shoulder frankfurter. Buffalo boudin meatloaf sausage cow prosciutto.', - 'elasticpress', + {createInterpolateElement( + __( + 'ElasticPress Features add functionality to enhance search and queries on your site. You may choose to activate some or all of these Features depending on your needs. You can learn more about each Feature here.', + 'elasticpress', + ), + { + a: ( + // eslint-disable-next-line jsx-a11y/anchor-has-content, jsx-a11y/control-has-associated-label + + ), + }, )}

diff --git a/assets/js/sync-ui/components/offset.js b/assets/js/sync-ui/components/offset.js index 084e2320b..c40e02d8f 100644 --- a/assets/js/sync-ui/components/offset.js +++ b/assets/js/sync-ui/components/offset.js @@ -24,7 +24,7 @@ export default () => { setArgs({ ...args, offset })} type="number" diff --git a/assets/js/sync-ui/components/put-mapping.js b/assets/js/sync-ui/components/put-mapping.js index 7ed5d3850..e684db775 100644 --- a/assets/js/sync-ui/components/put-mapping.js +++ b/assets/js/sync-ui/components/put-mapping.js @@ -25,7 +25,7 @@ export default () => { {args.put_mapping ? ( {__( - 'May result in small changes in website search behaviour while sync is completed.', + 'Search results could be out of date or returned in different order while the sync completes.', 'elasticpress', )} diff --git a/includes/classes/Feature/Autosuggest/Autosuggest.php b/includes/classes/Feature/Autosuggest/Autosuggest.php index 00aeffc2b..6dd6e4ea5 100644 --- a/includes/classes/Feature/Autosuggest/Autosuggest.php +++ b/includes/classes/Feature/Autosuggest/Autosuggest.php @@ -44,7 +44,7 @@ public function __construct() { $this->short_title = esc_html__( 'Autosuggest', 'elasticpress' ); - $this->summary = __( '

Suggest relevant content as text is entered into the search field.

Input fields of type "search" or with the CSS class "search-field" or "ep-autosuggest" will be enhanced with autosuggest functionality. As text is entered into the search field, suggested content will appear below it, based on top search results for the text. Suggestions link directly to the content.

', 'elasticpress' ); + $this->summary = '

' . __( 'Input fields of type "search" or with the CSS class "search-field" or "ep-autosuggest" will be enhanced with autosuggest functionality. As text is entered into the search field, suggested content will appear below it, based on top search results for the text. Suggestions link directly to the content.', 'elasticpress' ) . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#autosuggest', 'elasticpress' ); diff --git a/includes/classes/Feature/Comments/Comments.php b/includes/classes/Feature/Comments/Comments.php index d44795a8e..83ebea030 100644 --- a/includes/classes/Feature/Comments/Comments.php +++ b/includes/classes/Feature/Comments/Comments.php @@ -38,7 +38,7 @@ public function __construct() { $this->title = esc_html__( 'Comments', 'elasticpress' ); - $this->summary = __( '

Improve comment search relevancy and query performance.

This feature will empower your website to overcome traditional WordPress comment search and query limitations that can present themselves at scale.

', 'elasticpress' ); + $this->summary = '

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

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#comments', 'elasticpress' ); diff --git a/includes/classes/Feature/DidYouMean/DidYouMean.php b/includes/classes/Feature/DidYouMean/DidYouMean.php index 20b67a1d4..a6ed1a681 100644 --- a/includes/classes/Feature/DidYouMean/DidYouMean.php +++ b/includes/classes/Feature/DidYouMean/DidYouMean.php @@ -23,7 +23,7 @@ public function __construct() { $this->title = esc_html__( 'Did You Mean', 'elasticpress' ); - $this->summary = __( '

Recommend alternative search terms for misspelled queries or terms with no results.

"Did You Mean" search feature provides alternative suggestions for misspelled or ambiguous search queries, enhancing search accuracy and user experience. To display suggestions in your theme, please follow this tutorial.

', 'elasticpress' ); + $this->summary = '

' . __( '"Did You Mean" search feature provides alternative suggestions for misspelled or ambiguous search queries, enhancing search accuracy and user experience. To display suggestions in your theme, please follow this tutorial.', 'elasticpress' ) . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/16673223107085-Did-You-Mean', 'elasticpress' ); diff --git a/includes/classes/Feature/Documents/Documents.php b/includes/classes/Feature/Documents/Documents.php index 26039834f..f5046b011 100644 --- a/includes/classes/Feature/Documents/Documents.php +++ b/includes/classes/Feature/Documents/Documents.php @@ -27,7 +27,7 @@ public function __construct() { $this->title = esc_html__( 'Documents', 'elasticpress' ); - $this->summary = __( '

Indexes text inside of popular file types, and adds those files types to search results.

Website search results will include popular document file types, using file names as well as their content. Supported file types include: ppt, pptx, doc, docx, xls, xlsx, pdf.

', 'elasticpress' ); + $this->summary = '

' . __( 'Website search results will include popular document file types, using file names as well as their content. Supported file types include: ppt, pptx, doc, docx, xls, xlsx, pdf.', 'elasticpress' ) . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#documents', 'elasticpress' ); diff --git a/includes/classes/Feature/Facets/Facets.php b/includes/classes/Feature/Facets/Facets.php index 20a9c8615..7e7ee46e7 100644 --- a/includes/classes/Feature/Facets/Facets.php +++ b/includes/classes/Feature/Facets/Facets.php @@ -40,21 +40,19 @@ public function __construct() { $this->title = esc_html__( 'Filters', 'elasticpress' ); - $this->summary = sprintf( - /* translators: %s: Long feature summary. */ - __( '

Add controls to your website to filter content by one or more taxonomies.

%s

', 'elasticpress' ), + $this->summary = '

' . wp_is_block_theme() ? sprintf( /* translators: Site Editor URL */ - __( 'Adds filter blocks that administrators can add to the website’s templates and template parts, so that visitors can filter applicable content and search results by one or more taxonomy terms.', 'elasticpress' ), + __( 'Adds filter blocks that administrators can add to the website’s templates and template parts, so that visitors can filter applicable content and search results by one or more taxonomy terms, metafields, and date ranges.', 'elasticpress' ), esc_url( admin_url( 'site-editor.php' ) ) ) : sprintf( /* translators: Widgets Edit Screen URL */ - __( 'Adds filter widgets that administrators can add to the website’s sidebars (widgetized areas), so that visitors can filter applicable content and search results by one or more taxonomy terms.', 'elasticpress' ), + __( 'Adds filter widgets that administrators can add to the website’s sidebars (widgetized areas), so that visitors can filter applicable content and search results by one or more taxonomy terms, metafields, and date ranges.', 'elasticpress' ), esc_url( admin_url( 'widgets.php' ) ) ) - ); + . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#facets', 'elasticpress' ); diff --git a/includes/classes/Feature/InstantResults/InstantResults.php b/includes/classes/Feature/InstantResults/InstantResults.php index fe9ed4d1f..df6b8d229 100644 --- a/includes/classes/Feature/InstantResults/InstantResults.php +++ b/includes/classes/Feature/InstantResults/InstantResults.php @@ -71,7 +71,8 @@ public function __construct() { $this->short_title = esc_html__( 'Instant Results', 'elasticpress' ); - $this->summary = __( '

Search forms display results instantly after submission. A modal opens that populates results by querying ElasticPress directly.

WordPress search forms will display results instantly. When the search query is submitted, a modal will open that populates results by querying ElasticPress directly, bypassing WordPress. As the user refines their search, results are refreshed.

Requires an ElasticPress.io plan or a custom proxy to function.

', 'elasticpress' ); + $this->summary = '

' . __( 'WordPress search forms will display results instantly. When the search query is submitted, a modal will open that populates results by querying ElasticPress directly, bypassing WordPress. As the user refines their search, results are refreshed.', 'elasticpress' ) . '

' . + '

' . __( 'Requires an ElasticPress.io plan or a custom proxy to function.', 'elasticpress' ) . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#instant-results', 'elasticpress' ); diff --git a/includes/classes/Feature/ProtectedContent/ProtectedContent.php b/includes/classes/Feature/ProtectedContent/ProtectedContent.php index 620b911c3..a80f7f7a4 100644 --- a/includes/classes/Feature/ProtectedContent/ProtectedContent.php +++ b/includes/classes/Feature/ProtectedContent/ProtectedContent.php @@ -32,7 +32,8 @@ public function __construct() { $this->title = esc_html__( 'Protected Content', 'elasticpress' ); - $this->summary = __( '

Optionally index all of your content, including private and unpublished content, to speed up searches and queries in places like the administrative dashboard.

Securely indexes unpublished content—including private, draft, and scheduled posts —improving load times in places like the administrative dashboard where WordPress needs to include protected content in a query.

We recommend using a secured Elasticsearch setup, such as ElasticPress.io, to prevent potential exposure of content not intended for the public.

', 'elasticpress' ); + $this->summary = '

' . __( 'Syncs unpublished content — including private, draft, and scheduled posts — improving load times in places like the administrative dashboard where WordPress needs to include protected content in a query.', 'elasticpress' ) . '

' . + '

' . __( 'We recommend using a secured Elasticsearch setup, such as ElasticPress.io, to prevent potential exposure of content not intended for the public.', 'elasticpress' ) . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#protected-content', 'elasticpress' ); diff --git a/includes/classes/Feature/RelatedPosts/RelatedPosts.php b/includes/classes/Feature/RelatedPosts/RelatedPosts.php index 3dc95914c..668104db1 100644 --- a/includes/classes/Feature/RelatedPosts/RelatedPosts.php +++ b/includes/classes/Feature/RelatedPosts/RelatedPosts.php @@ -28,7 +28,7 @@ public function __construct() { $this->title = esc_html__( 'Related Posts', 'elasticpress' ); - $this->summary = __( '

ElasticPress understands data in real time, so it can instantly deliver engaging and precise related content with no impact on site performance.

Output related content using our Widget or directly in your theme using our API functions.

', 'elasticpress' ); + $this->summary = '

' . __( 'Instantly deliver engaging and precise related content with no impact on site performance. Output related content using our block or directly in your theme using our API functions.', 'elasticpress' ) . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#related-posts', 'elasticpress' ); diff --git a/includes/classes/Feature/Search/Search.php b/includes/classes/Feature/Search/Search.php index 415d5b6df..ce8188f22 100644 --- a/includes/classes/Feature/Search/Search.php +++ b/includes/classes/Feature/Search/Search.php @@ -54,7 +54,8 @@ public function __construct() { $this->title = esc_html__( 'Post Search', 'elasticpress' ); - $this->summary = __( '

Instantly find the content you’re looking for. The first time.

Overcome higher-end performance and functional limits posed by the traditional WordPress structured (SQL) database to deliver superior keyword search, instantly. ElasticPress indexes custom fields, tags, and other metadata to improve search results. Fuzzy matching accounts for misspellings and verb tenses.

', 'elasticpress' ); + $this->summary = '

' . __( 'Instantly find the content you’re looking for. The first time.', 'elasticpress' ) . '

' . + '

' . __( 'Overcome higher-end performance and functional limits posed by the traditional WordPress structured (SQL) database to deliver superior keyword search, instantly. ElasticPress indexes custom fields, tags, and other metadata to improve search results. Fuzzy matching accounts for misspellings and verb tenses.', 'elasticpress' ) . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#post-search', 'elasticpress' ); diff --git a/includes/classes/Feature/SearchOrdering/SearchOrdering.php b/includes/classes/Feature/SearchOrdering/SearchOrdering.php index 78cb366d4..833991dc1 100644 --- a/includes/classes/Feature/SearchOrdering/SearchOrdering.php +++ b/includes/classes/Feature/SearchOrdering/SearchOrdering.php @@ -54,7 +54,7 @@ public function __construct() { $this->title = esc_html__( 'Custom Search Results', 'elasticpress' ); - $this->summary = __( '

Insert specific posts into search results for specific search queries.

Selected posts will be inserted into search results in the specified position.

', 'elasticpress' ); + $this->summary = '

' . __( 'Selected posts will be inserted into search results in the specified position.', 'elasticpress' ) . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#custom-search-results', 'elasticpress' ); diff --git a/includes/classes/Feature/Terms/Terms.php b/includes/classes/Feature/Terms/Terms.php index d32460819..24bfd59f7 100644 --- a/includes/classes/Feature/Terms/Terms.php +++ b/includes/classes/Feature/Terms/Terms.php @@ -35,7 +35,7 @@ public function __construct() { $this->title = esc_html__( 'Terms', 'elasticpress' ); - $this->summary = __( '

Improve WP_Term_Query relevancy and query performance. This feature is only needed if you are using WP_Term_Query directly.

This feature will empower your website to overcome traditional WordPress term search and query limitations that can present themselves at scale.

', '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' ); diff --git a/includes/classes/Feature/WooCommerce/WooCommerce.php b/includes/classes/Feature/WooCommerce/WooCommerce.php index 800527aef..839a46dcb 100644 --- a/includes/classes/Feature/WooCommerce/WooCommerce.php +++ b/includes/classes/Feature/WooCommerce/WooCommerce.php @@ -56,7 +56,7 @@ public function __construct() { $this->title = esc_html__( 'WooCommerce', 'elasticpress' ); - $this->summary = __( '

With ElasticPress, filtering WooCommerce product results is fast and easy. Your customers can find and buy exactly what they’re looking for, even if you have a large or complex product catalog.

Most caching and performance tools can’t keep up with the nearly infinite ways your visitors might filter or navigate your products. No matter how many products, filters, or customers you have, ElasticPress will keep your online store performing quickly. If used in combination with the Protected Content feature, ElasticPress will also accelerate order searches and back end product management.

', 'elasticpress' ); + $this->summary = '

' . __( 'Most caching and performance tools can’t keep up with the nearly infinite ways your visitors might filter or navigate your products. No matter how many products, filters, or customers you have, ElasticPress will keep your online store performing quickly. If used in combination with the Protected Content feature, ElasticPress will also accelerate order searches and back end product management.', 'elasticpress' ) . '

'; $this->docs_url = __( 'https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#woocommerce', 'elasticpress' ); diff --git a/tests/php/features/TestAutosuggest.php b/tests/php/features/TestAutosuggest.php index 952864e09..796c821a2 100644 --- a/tests/php/features/TestAutosuggest.php +++ b/tests/php/features/TestAutosuggest.php @@ -81,7 +81,7 @@ public function testBoxSummary() { $this->get_feature()->output_feature_box_summary(); $output = ob_get_clean(); - $this->assertStringContainsString( 'Suggest relevant content as text is entered into the search field', $output ); + $this->assertStringContainsString( 'As text is entered into the search field, suggested content will appear below it', $output ); } /** diff --git a/tests/php/features/TestComments.php b/tests/php/features/TestComments.php index 0b3b7116d..f6e8309ca 100644 --- a/tests/php/features/TestComments.php +++ b/tests/php/features/TestComments.php @@ -89,7 +89,7 @@ public function testBoxSummary() { $this->get_feature()->output_feature_box_summary(); $output = ob_get_clean(); - $this->assertStringContainsString( 'Improve comment search relevancy and query performance.', $output ); + $this->assertStringContainsString( 'This feature is only needed if you are using WP_Comment_Query directly.', $output ); } /** diff --git a/tests/php/features/TestSearchOrdering.php b/tests/php/features/TestSearchOrdering.php index ca19ba401..4df831e03 100644 --- a/tests/php/features/TestSearchOrdering.php +++ b/tests/php/features/TestSearchOrdering.php @@ -105,7 +105,7 @@ public function testOutputFeatureBoxSummary() { $this->get_feature()->output_feature_box_summary(); $output = ob_get_clean(); - $this->assertStringContainsString( 'Insert specific posts into search results for specific search queries.', $output ); + $this->assertStringContainsString( 'Selected posts will be inserted into search results in the specified position.', $output ); } /**