WPML
Stato
Aperto
Segnalato per
WPML Multilingual & Multicurrency for WooCommerce 5.2.0
Plugin/tema correlato
WooCommerce Memberships
Tag dell’argomento
Compatibility

Panoramica del problema

Se acquisti un prodotto in lingue secondarie, noterai che non avviene l’assegnazione di una membership. Puoi osservarlo in particolare nella pagina “Thank you” che segue l’ordine, dove sono assenti i dettagli previsti per la membership.

Soluzione alternativa

Assicurati di avere un backup completo del tuo sito prima di procedere.


  • Apri il file …/wp-content/plugins/woocommerce-memberships/src/class-wc-memberships-membership-plan.php.

  • Cerca la riga 218.

  • Sostituisci:
    public function get_product_ids() {
    
    	if ( null === $this->product_ids ) {
    		$this->product_ids = get_post_meta( $this->id, $this->product_ids_meta, true );
    		$this->product_ids = is_array( $this->product_ids ) ? array_unique( array_map( 'absint', $this->product_ids ) ) : [];
    	}
    
    	return $this->product_ids;
    }


  • Con:
    public function get_product_ids() {
    
    	if ( null === $this->product_ids ) {
    		$this->product_ids = get_post_meta( $this->id, $this->product_ids_meta, true );
    		$this->product_ids = apply_filters( 'wc_memberships_rule_object_ids', $this->product_ids );
    		$this->product_ids = is_array( $this->product_ids ) ? array_unique( array_map( 'absint', $this->product_ids ) ) : [];
    	}
    
    	return $this->product_ids;
    }

Tutti i problemi noti →