This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Nessun supporter è disponibile a lavorare oggi sul forum Italian. Sentitevi liberi di creare ticket e li gestiremo il prima possibile quando saremo online. Grazie per la comprensione.

This topic contains 4 risposte, has 2 voci.

Last updated by Giuseppe 4 anni, 1 mese fa.

Assigned support staff: Vincenzo.

Autore Post
August 3, 2015 at 1:35 pm #672217

Giuseppe

Sto cercando di ottenere tamplate diversi a seconda della lingua visualizzata per i dispositivi mobile e tablet. Ho inserito ICL_LANGUAGE_CODE nel container. Ecco il codice:

<?php
global $rule, $ap_options, $display_sidebar;
$display_sidebar = false;

if ( is_single() || is_page() ) {
$content_template = 'singular';
} else {
$content_template = 'multiple';
}

if ( ($rule['layout'] == 'full-width') || ($rule['layout'] == 'three-cols')) {
?>

<!-- begin content -->
<?php
get_template_part( 'content', $content_template );
?>

<!-- end content -->

<?php
}elseif ((is_mobile_device()) || (is_tablet())&& (ICL_LANGUAGE_CODE=='it') ) {
$rule['layout'] = 'full-width';
get_template_part( 'content', $content_template );
include ('it-cel-sidebar.php');
}elseif ((is_mobile_device()) || (is_tablet()) && (ICL_LANGUAGE_CODE=='en') ) {
$rule['layout'] = 'full-width';
get_template_part( 'content', $content_template );
include ('en-cel-sidebar.php');
}/*elseif ((is_mobile_device()) || (is_tablet()) && (ICL_LANGUAGE_CODE=='de') ) {

get_template_part( 'content', $content_template );

}/*else if ( $rule['layout'] == 'one-col-left-sidebar') {
$display_sidebar = true;
if ($ap_options['ap_sidebars_texture']['val'] == 'yes' ) {
$class1 = 'textured-area textured-area-top-left';
$class2 = 'textured-area-content';
} else {
$class1 = 'sidebar-left';
$class2 = 'sidebar-content';
}
?>
<!-- begin sidebar -->
<div class="five columns alpha <?php echo( $class1 ); ?>">
<div class="<?php echo( $class2 ); ?>" >
<?php dynamic_sidebar( $rule['sidebar'] ); ?>
</div>
</div>
<!-- end sidebar -->

<!-- begin content -->
<div class="eleven columns omega">
<?php get_template_part( 'content', $content_template );?>
</div>
<!-- end content -->

<?php
} elseif ( $rule['layout'] == 'one-col-right-sidebar' ) {
$display_sidebar = true;
if ($ap_options['ap_sidebars_texture']['val'] == 'yes' ) {
$class1 = ' textured-area textured-area-top-right';
$class2 = ' textured-area-content';
} else {
$class1 = 'sidebar-right';
$class2 = 'sidebar-content';
}
?>
<!-- begin content -->
<div class="eleven columns alpha">
<?php get_template_part( 'content', $content_template ); ?>
</div>
<!-- end content -->

<!-- begin sidebar -->
<div class="five columns omega <?php echo( $class1 ); ?>">
<div class="<?php echo( $class2 ); ?>" >
<?php dynamic_sidebar( $rule['sidebar'] ); ?>
</div>
</div>
<!-- end sidebar -->

<?php
}
?>

URL of (my) website where problem appears:
hidden link

I expected to see:
ho creato dei template file chiamati it-cel-sidebar e en-cel-sidebar.
Mi dovrebbe stampare i diversi template file in base alla lingua, ma funziona solo la prima condizione.
Cambia quindi la visualizzazione da tablet e cellulare ma lo switcher per la lingua sembra non funzionare, probabilmente ho sbagliato ad utilizzarlo... Mi potreste aiutare?
Grazie

August 3, 2015 at 2:07 pm #672244

Vincenzo
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Salve e grazie per aver contattato il supporto WPML
Mi occuperò di questo ticket.

Non so se dipende dal fatto che non hai usato i tag code per inserire il codice all'interno del forum,
ma sembra che alla linea 30 tu abbia aperto un commento che poi non hai chiuso.

}/*elseif ((is_mobile_device()) || (is_tablet()) && (ICL_LANGUAGE_CODE=='de') ) {
August 3, 2015 at 3:10 pm #672318

Giuseppe

mi sono sbagliato a copiare il codice io, ora lo inserisco corretto nei tag code

<?php
global $rule, $ap_options, $display_sidebar;
$display_sidebar = false;

if ( is_single() || is_page() ) {
	$content_template = 'singular';
} else {
	$content_template = 'multiple';
}

if ( ($rule['layout'] == 'full-width') || ($rule['layout'] == 'three-cols')) {
?>


<!-- begin content -->
<?php
get_template_part( 'content', $content_template ); 
?>

<!-- end content -->

<?php
}elseif ((is_mobile_device()) || (is_tablet())&& (ICL_LANGUAGE_CODE=='it') ) {
	$rule['layout'] = 'full-width';
	get_template_part( 'content', $content_template ); 
	include ('it-cel-sidebar.php');
	}elseif ((is_mobile_device()) || (is_tablet()) && (ICL_LANGUAGE_CODE=='en') ) {
	$rule['layout'] = 'full-width';
	get_template_part( 'content', $content_template ); 
    include ('en-cel-sidebar.php');
	}/*elseif ((is_mobile_device()) || (is_tablet()) && (ICL_LANGUAGE_CODE=='de') ) {
	
	get_template_part( 'content', $content_template ); 

	}*/	else if ( $rule['layout'] == 'one-col-left-sidebar') {
	$display_sidebar = true;
	if ($ap_options['ap_sidebars_texture']['val'] == 'yes' ) {
		$class1 = 'textured-area textured-area-top-left';
		$class2 = 'textured-area-content';
} else {
		$class1 = 'sidebar-left';
		$class2 = 'sidebar-content';
	}
?>
<!-- begin sidebar -->
<div class="five columns alpha <?php echo( $class1 ); ?>">
<div class="<?php echo( $class2 ); ?>" >
<?php dynamic_sidebar( $rule['sidebar'] ); ?>
</div>
</div>
<!-- end sidebar -->

<!-- begin content -->
<div class="eleven columns omega">
<?php get_template_part( 'content', $content_template );?>
</div>
<!-- end content -->

<?php
} elseif ( $rule['layout'] == 'one-col-right-sidebar' ) {
	$display_sidebar = true;
	if ($ap_options['ap_sidebars_texture']['val'] == 'yes' ) {
		$class1 = ' textured-area textured-area-top-right';
		$class2 = ' textured-area-content';
	} else {
		$class1 = 'sidebar-right';
		$class2 = 'sidebar-content';
	}
?>
<!-- begin content -->
<div class="eleven columns alpha">
<?php get_template_part( 'content', $content_template ); ?>
</div>
<!-- end content -->

<!-- begin sidebar -->
<div class="five columns omega <?php echo( $class1 ); ?>">
<div class="<?php echo( $class2 ); ?>" >
<?php dynamic_sidebar( $rule['sidebar'] ); ?>
</div>
</div>
<!-- end sidebar -->

<?php
} 
?>

Come vedi ho solo escluso temporaneamente la lingua tedesca perchè non è ancora stata implementata nel sito

August 18, 2015 at 1:49 pm #681547

Vincenzo
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Scusami tanto per il ritardo con cui ti rispondo.
Ho frainteso la risposta e credevo avessi risolto.

Probabilmente a questo punto avrai già trovato una soluzione.
Nel caso così non fosse, puoi provare a modificare le seguenti linee:

<?php
}elseif ((is_mobile_device()) || (is_tablet())&& (ICL_LANGUAGE_CODE=='it') ) {
    $rule['layout'] = 'full-width';
    get_template_part( 'content', $content_template ); 
    include ('it-cel-sidebar.php');
    }elseif ((is_mobile_device()) || (is_tablet()) && (ICL_LANGUAGE_CODE=='en') ) {
    $rule['layout'] = 'full-width';
    get_template_part( 'content', $content_template ); 
    include ('en-cel-sidebar.php');
    }/*elseif ((is_mobile_device()) || (is_tablet()) && (ICL_LANGUAGE_CODE=='de') ) {
     
    get_template_part( 'content', $content_template ); 
 
    }*/ else if ( $rule['layout'] == 'one-col-left-sidebar') {
    $display_sidebar = true;
    if ($ap_options['ap_sidebars_texture']['val'] == 'yes' ) {
        $class1 = 'textured-area textured-area-top-left';
        $class2 = 'textured-area-content';
} else {
        $class1 = 'sidebar-left';
        $class2 = 'sidebar-content';
    }
?>

in

<?php
}elseif ((wp_is_mobile()) && (ICL_LANGUAGE_CODE=='it') ) {
    $rule['layout'] = 'full-width';
    get_template_part( 'content', $content_template ); 
    include ('it-cel-sidebar.php');
    }elseif ((wp_is_mobile()) && (ICL_LANGUAGE_CODE=='en') ) {
    $rule['layout'] = 'full-width';
    get_template_part( 'content', $content_template ); 
    include ('en-cel-sidebar.php');
    }/*elseif ((wp_is_mobile()) && (ICL_LANGUAGE_CODE=='de') ) {
     
    get_template_part( 'content', $content_template ); 
 
    }*/ else if ( $rule['layout'] == 'one-col-left-sidebar') {
    $display_sidebar = true;
    if ($ap_options['ap_sidebars_texture']['val'] == 'yes' ) {
        $class1 = 'textured-area textured-area-top-left';
        $class2 = 'textured-area-content';
} else {
        $class1 = 'sidebar-left';
        $class2 = 'sidebar-content';
    }
?>

Scusa ancora per il ritardo

August 20, 2015 at 8:46 pm #683680

Giuseppe

Nessun problema. L'importante è aver risolto il problema. Grazie mille, adesso funziona!!