您可以通过以下两种方式实现此目标:
将'display_names_as'=>'slug'
添加到 $args
中:
$args = array('show_flags' => 0, 'show_names' => 0, 'hide_current' => false,'dropdown' => 1,'display_names_as'=>'slug'); pll_the_languages($args);
或者
使用Polylang hook。只需在您的function.php文件中添加以下代码段:
add_filter( 'pll_the_languages_args', function( $args ) { $args['display_names_as'] = 'slug'; return $args; } );
functions.php
中,然后在您想要显示语言列表的位置添加shortcode
,它会以国旗的形式显示语言,您可以根据需要进行编辑,只需取消var_dump
的注释即可。<?php
/**
* Put shortcode [polylang_langswitcher] to post/page for display flags
*/
function custom_polylang_langswitcher() {
$langs_array = pll_the_languages( array( 'dropdown' => 1, 'hide_current' => 0, 'raw' => 1 ) );
//var_dump($langs_array);
if ($langs_array) : ?>
<div class="drop-block lang">
<?php foreach ($langs_array as $lang) : ?>
<a href="<?php echo $lang['url']; ?>" class="drop-block__link icon-<?php echo $lang['slug']; ?>">
<img width="32" height="32" src="<?php echo $lang['flag']; ?>" alt="<?php echo $lang['slug']; ?>" />
</a>
<?php endforeach; ?>
</div>
<?php endif;
}
add_shortcode( 'polylang_langswitcher', 'custom_polylang_langswitcher' );
?>