WPML
Statut
Résolu par l’auteur
Extension/thème associé
BeTheme
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Si vous utilisez le thème BeTheme et ses sections globales, il se peut que ces sections n’affichent pas leurs versions traduites dans les langues secondaires, bien que des traductions soient disponibles.

Solution de contournement

Assurez-vous d’avoir une sauvegarde complète de votre site avant de continuer.


  • Ouvrez le fichier …/wp-content/themes/betheme/functions/builder/class-mfn-builder-front.php.

  • Remplacez ce code :
    public function show_sections($mfn_items, $vbtoolsoff = false){
    
    	if( !is_array($mfn_items) ) return;
    
    	foreach ($mfn_items as $s => $section) {
    
    		$section_class = [];

  • Par :
    public function show_sections($mfn_items, $vbtoolsoff = false){
    
    	if( !is_array($mfn_items) ) return;
    
    	foreach ($mfn_items as $s => $section) {
    
    		// WPML workaround for compsupp-7262
    		if( class_exists('Sitepress') && ! empty($section['mfn_global_section_id'] ) ) {
    			$section['mfn_global_section_id'] = apply_filters( 'wpml_object_id', $section['mfn_global_section_id'], get_post_type($section['mfn_global_section_id']) , TRUE  );
    		}
    
    		$section_class = [];

  • Ensuite, ouvrez le fichier …/wp-content/themes/betheme/functions/post-types/class-mfn-post-type-template.php.

  • Cherchez la ligne 21.

  • Remplacez :
    public function __construct(){
    
        if( !apply_filters('bebuilder_access', false) ){
            return false;
        }
    
        if( !current_user_can('editor') && !current_user_can('administrator') ){
            return false;
        }
    
        parent::__construct();
    
        // fires after WordPress has finished loading but before any headers are sent
        add_action('init', array($this, 'register'));

  • Par :
    public function __construct(){
    
    	// WPML Workaround for compsupp-7262 (Part 2)
    	if ( ! class_exists('Sitepress') ) {
    
    		if( !apply_filters('bebuilder_access', false) ){
    			return false;
    		}
    
    		if( !current_user_can('editor') && !current_user_can('administrator') ){
    			return false;
    		}
    	}
    
    	parent::__construct();
    
    	// fires after WordPress has finished loading but before any headers are sent
    	add_action('init', array($this, 'register'));

Toutes les anomalies connues →