WPML
Status
Aberto
Relatado para
WPML Multilingual & Multicurrency for WooCommerce 5.2.0
Plugin/tema relacionado
WooCommerce Memberships
Tags de tópico
Compatibility

Visão geral do problema

Se você comprar um produto em idiomas secundários, notará que não há atribuição de uma assinatura. Você pode observar isso especificamente na página “Obrigado” que se segue ao pedido, onde os detalhes esperados da assinatura estão ausentes.

Solução alternativa

Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.


  • Abra o arquivo …/wp-content/plugins/woocommerce-memberships/src/class-wc-memberships-membership-plan.php.

  • Procure a linha 218.

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


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

Todos os problemas conhecidos →