WPML

Aperçu de l’anomalie

Si vous utilisez l’extension The Events Calendar et sa fonctionnalité Integrate events in main blog loop, vous constaterez que la page racine apparaît vide lorsqu’un paramètre est ajouté à l’URL (example.com?foo=bar). Ce problème se produit spécifiquement lorsque le paramètre Utiliser le répertoire pour la langue par défaut de WPML est également activé.

Solution de contournement

Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.

  • Ouvrez le fichier …/wp-content/plugins/the-events-calendar/src/Tribe/Query.php.
  • Cherchez la ligne 577.
  • Remplacez :
    protected static function add_post_type_to_query( WP_Query $query, string ...$post_types ): void {
    
    	$query_post_types = self::get_query_post_types( $query );
    
    	$updated_post_types = array_unique( array_merge( $post_types, $query_post_types ) );
    
    	$query->set( 'post_type', $updated_post_types );
    	$query->query['post_type'] = $updated_post_types;
    }
  • Par :
    protected static function add_post_type_to_query( WP_Query $query, string ...$post_types ): void {
    
    	$query_post_types = self::get_query_post_types( $query );
    
    	// WPML Workaround for compsupp-7426
    	if ( class_exists('Sitepress') ) {
    		$is_root_enabled = apply_filters( 'wpml_sub_setting', false, 'urls', 'directory_for_default_language' );
    
    		if ( $is_root_enabled && is_home() ) {
    			return;
    		}
    	}
    
    	$updated_post_types = array_unique( array_merge( $post_types, $query_post_types ) );
    
    	$query->set( 'post_type', $updated_post_types );
    	$query->query['post_type'] = $updated_post_types;
    }

Toutes les anomalies connues