WPML
Status
Vom Autor gelöst
Gelöst in
Blocksy Companion 2.0.33
Zugehöriges Plugin/Theme
Blocksy
Themen-Tags
Compatibility

Übersicht über das Problem

Im Blocksy-Theme werden bei der Verwendung der Funktion Products Tab mit WPML in eine Sekundärsprache übersetzte Tabs im Frontend möglicherweise fälschlicherweise in der Originalsprache angezeigt.

Problemumgehung

Stellen Sie sicher, dass Sie über ein vollständiges Backup Ihrer Website verfügen, bevor Sie fortfahren.


  • Öffnen Sie die Datei …/wp-content/plugins/blocksy-companion-pro/framework/premium/extensions/woocommerce-extra/features/custom-tabs/feature.php

  • Suchen Sie nach Zeile 139.

  • Ersetzen Sie:
    $all_products_tabs = get_posts([
    	'numberposts' => -1,
    	'post_type' => $this->post_type,
    ]);

  • Durch:
    $all_products_tabs = get_posts([
    	'numberposts' => -1,
    	'post_type' => $this->post_type,
    	// WPML Workaround for compsupp-7255 - PART 1
    	'suppress_filters' => false
    ]);

  • Öffnen Sie dann die Datei …/wp-content/plugins/blocksy-companion-pro/framework/features/conditions/rules-resolver.php

  • Suchen Sie nach Zeile 364.

  • Ersetzen Sie:
    if (
    	isset($rule['payload'])
    	&&
    	isset($rule['payload']['post_id'])
    	&&
    	$post_id
    	&&
    	intval($post_id) === intval($rule['payload']['post_id'])
    ) {
    	return true;
    }

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

Alle bekannten Probleme →