Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function searchwp_polylang_include_only_current_language_posts( $relevantPostIds, $engine, $terms ) {
- if ( isset( $engine ) ) {
- $engine = null;
- }
- if ( isset( $terms ) ) {
- $terms = null;
- }
- $post_ids = $relevantPostIds;
- if ( function_exists( 'pll_current_language' ) && function_exists( 'pll_default_language' ) ) {
- $currentLanguage = pll_current_language();
- if ( false == $currentLanguage ) {
- $currentLanguage = pll_default_language();
- }
- // get all posts in the current language
- $args_translated = array(
- 'nopaging' => true,
- 'post_type' => array('translated_post_type1', 'translated_post_type2'),
- 'post_status' => 'any',
- 'fields' => 'ids',
- 'tax_query' => array(
- array(
- 'taxonomy' => 'language',
- 'field' => 'slug',
- 'terms' => sanitize_text_field( $currentLanguage ),
- ),
- )
- );
- $query_translated = new WP_Query( $args_translated );
- $post_ids_translated = $query_translated->posts;
- $args_untranslated = array(
- 'nopaging' => true,
- 'post_type' => array('untranslated_post_type1', 'untranslated_post_type2'),
- 'post_status' => 'any',
- 'fields' => 'ids',
- );
- $query_untranslated = new WP_Query( $args_untranslated );
- $post_ids_untranslated = $query_untranslated->posts;
- $post_ids = array_merge( $post_ids_untranslated, $post_ids_translated );
- }
- return $post_ids;
- }
- add_filter( 'searchwp_include', 'searchwp_polylang_include_only_current_language_posts', 10, 3 );
Add Comment
Please, Sign In to add comment