- Stato
- Risolto dall’autore
- Risolto in
- Blocksy Companion 2.0.33
- Plugin/tema correlato
- Blocksy
- Tag dell’argomento
- Compatibility
Panoramica del problema
Nel tema Blocksy, quando si utilizza la funzionalità Products Tab con WPML, le schede tradotte in una lingua secondaria potrebbero essere visualizzate in modo errato nella lingua originale sul front-end.
Soluzione alternativa
Assicurati di avere un backup completo del tuo sito prima di procedere.
- Apri il file …/wp-content/plugins/blocksy-companion-pro/framework/premium/extensions/woocommerce-extra/features/custom-tabs/feature.php
- Cerca la riga 139.
- Sostituisci:
$all_products_tabs = get_posts([ 'numberposts' => -1, 'post_type' => $this->post_type, ]);
- Con:
$all_products_tabs = get_posts([ 'numberposts' => -1, 'post_type' => $this->post_type, // WPML Workaround for compsupp-7255 - PART 1 'suppress_filters' => false ]);
- Quindi, apri il file …/wp-content/plugins/blocksy-companion-pro/framework/features/conditions/rules-resolver.php
- Cerca la riga 364.
- Sostituisci:
if ( isset($rule['payload']) && isset($rule['payload']['post_id']) && $post_id && intval($post_id) === intval($rule['payload']['post_id']) ) { return true; } - Con:
// WPML Workaround for compsupp-7255 - Part 2 if ( class_exists('Sitepress') ) { $rule['payload']['post_id'] = apply_filters( 'wpml_object_id', $rule['payload']['post_id'], get_post_type($rule['payload']['post_id']) , TRUE ); } if ( isset($rule['payload']) && isset($rule['payload']['post_id']) && $post_id && intval($post_id) === intval($rule['payload']['post_id']) ) { return true; }