- 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; }