Skip to main contentSkip to footer

When a post is updated, WPML updates all the translations of the post, but Relevanssi only indexes the post that was updated, not the corresponding posts in other languages. This method hooks into save_post after WPML to tell Relevanssi also to index the matching translations.

add_action( 'save_post', 'index_post_in_all_languages', 110, 2 );
function index_post_in_all_languages( $post_ID, $post ) {
	if ( ! function_exists( 'relevanssi_insert_edit' ) ) {
		return;
	}
    $trid = apply_filters( 'wpml_element_trid', null, $post_ID, "post_{$post->post_type}" );
    if ( ! $trid ) {
    	return;
    }
    $translations = apply_filters( 'wpml_get_element_translations', null, $trid, $post->post_type );
	foreach ( $translations as $lang => $translation ) {
		$translation_id = absint( $translation->element_id );
        if ( ! empty( $translation_id ) && $translation_id !== $post_ID ) {
			relevanssi_insert_edit( $translation_id );
        }
    }
}

Thanks to Garrett McGilvray / Éditions CEB.

There’s a similar solution for Polylang Pro synced posts.

Your account

Not logged in. Log in to see your license details.

Search

Popular Resources

SearchWP Live Ajax Search

…One example is searching for attachments. By default, SearchWP Live Ajax Search doesn’t include any attachments in the search results. The post type is not a problem, but the post status is: SearchWP Live Ajax Search includes only posts with the post status publish, while attachments have a status of…Relevanssi doesn’t ship with a live search or autocomplete feature that would display results as the user types the search terms. There are many other plugins that provide this functionality, but few of these plugins work with Relevanssi. SearchWP Live Ajax Search is the best one that does. It’s very……to include private posts for the users who are allowed to see them. Just removing the post_status parameter will include drafts in the results. Normally drafts shouldn’t appear in searches, but since the SearchWP Live Ajax Search is an AJAX search, it is done in admin context, where drafts are…

Unyson
Unyson is a free drag & drop framework. It stores the content in a custom field fw:opt:ext:pb:page-builder:json. While Relevanssi can…

Related Posts:

Comment Section:

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed