WPML
Status
Gelöst
Gemeldet für
WPML Multilingual CMS 4.6.4
Gelöst in
WPML 4.7
Zugehöriges Plugin/Theme
WooCommerce Memberships
Themen-Tags
Compatibility

Übersicht über das Problem

Wenn Sie WooCommerce Membership verwenden, werden Sie feststellen, dass WPML, wenn eine Seite unter den Einstellungen für Restrict Content innerhalb eines Mitgliedschaftsplans hinzugefügt und anschließend gelöscht wird, die Einschränkung fälschlicherweise auf alle Seiten der Website anwendet, nicht nur auf die im Mitgliedschaftsplan angegebenen.

Problemumgehung

Bitte erstellen Sie ein vollständiges Backup Ihrer Website, bevor Sie fortfahren.


  • Öffnen Sie die Datei …/wp-content/plugins/woocommerce-multilingual/compatibility/WcMemberships/class-wcml-wc-memberships.php.

  • Suchen Sie nach Zeile 134.

  • Ersetzen Sie diesen Code:
    public function add_translated_object_ids( $object_ids ) {
    	$result = [];
    	foreach ( $object_ids as $object_id ) {
    		$type         = apply_filters( 'wpml_element_type', get_post_type( $object_id ) );
    		$trid         = apply_filters( 'wpml_element_trid', null, $object_id, $type );
    		$translations = array_values( wp_list_pluck(
    			apply_filters( 'wpml_get_element_translations', [], $trid, $type ),
    			'element_id'
    		) );
    
    		$result = array_merge( $result, $translations );
    	}
    
    	return $result;
    }


  • Durch:
    public function add_translated_object_ids( $object_ids ) {
    	$result = [];
    	foreach ( $object_ids as $object_id ) {
    		$type         = apply_filters( 'wpml_element_type', get_post_type( $object_id ) );
    		$trid         = apply_filters( 'wpml_element_trid', null, $object_id, $type );
    		$translations = array_values( wp_list_pluck(
    			apply_filters( 'wpml_get_element_translations', [], $trid, $type ),
    			'element_id'
    		) );
    
    		$result = array_merge( $result, $translations );
    	}
    
    	// Workaround for compsupp-6900
    	if ( empty($result) ) {
    		return $object_ids;
    	}
    
    	return $result;
    }

Alle bekannten Probleme →