WPML
Status
Offen
Zugehöriges Plugin/Theme
The Events Calendar
Themen-Tags
Compatibility

Übersicht über das Problem

Wenn Sie das Plugin The Events Calendar und dessen Funktion Integrate events in main blog loop verwenden, werden Sie feststellen, dass die Stammseite leer angezeigt wird, wenn ein Parameter zur URL hinzugefügt wird (example.com?foo=bar). Dieses Problem tritt speziell dann auf, wenn die WPML-Einstellung Verzeichnis für Standardsprache verwenden ebenfalls aktiviert ist.

Problemumgehung

Bitte stellen Sie sicher, dass Sie ein vollständiges Backup Ihrer Website haben, bevor Sie fortfahren.


  • Öffnen Sie die Datei …/wp-content/plugins/the-events-calendar/src/Tribe/Query.php.

  • Suchen Sie nach Zeile 577.

  • Ersetzen Sie:
    	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;
    	}

  • Durch:
    	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;
    	}

Alle bekannten Probleme →