This thread is resolved. Here is a description of the problem and solution.
Problem:
The client is using WPML and SearchWP on their development site and wants to search for text and return posts in the current language only. However, the search returns posts in all languages.
Solution:
We recommend modifying the search query to ensure it filters results based on the current language. Here's a step-by-step guide:
// Ensure you have WPML's language set up $current_language = apply_filters('wpml_current_language', null); // Arguments for the query $args = array( 'post_type' => $post_type, 'posts_per_page' => $posts_per_page, 'post_status' => 'publish', 'orderby' => $params['orderby'] ?? 'date', 'order' => $params['order'] ?? 'DESC', 's' => $params['search'], 'paged' => $paged, 'suppress_filters' => false, // This ensures WPML filters are applied ); // Run the query $query = new WP_Query($args); // Use the results as needed if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); // Your loop content } wp_reset_postdata(); }
If this solution does not resolve your issue or seems outdated, please check the related known issues, verify the version of the permanent fix, and confirm that you have installed the latest versions of themes and plugins. If further assistance is needed, we highly recommend opening a new support ticket at WPML support forum.
This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
This topic contains 1 reply, has 0 voices.
Last updated by 1 month, 1 week ago.
Assisted by: Andreas W..