检查Wordpress插件中的主题位置

检查Wordpress插件中的主题位置,wordpress,Wordpress,我想改进Wordpress插件,它与WPML一起向菜单添加一个或多个标志。(插件名称:菜单中的WPML标志) 它应该只适用于主位置的菜单,而不适用于边栏或页脚等其他位置 <?php /* Plugin Name: WPML flag in menu Plugin URI: http://www.MijnPress.nl Description: Shows translated flags (for every language except current viewing lang

我想改进Wordpress插件,它与WPML一起向菜单添加一个或多个标志。(插件名称:菜单中的WPML标志) 它应该只适用于主位置的菜单,而不适用于边栏或页脚等其他位置

<?php
/*
 Plugin Name: WPML flag in menu
 Plugin URI: http://www.MijnPress.nl
 Description: Shows translated flags (for every language except current viewing lang) in the default or wp_nav_menu at last position
 Version: 1.1
 Author: Ramon Fincken
 Author URI: http://www.MijnPress.nl
 */

add_filter( 'wp_nav_menu_items', 'plugin_wpml_flag_in_menu' );

function plugin_wpml_flag_in_menu($items, $args = NULL)
{
    if(function_exists('icl_get_languages'))
    {
        $languages = icl_get_languages('skip_missing=0&orderby=code');
        $new_items = '';
        if(!empty($languages)){
            foreach($languages as $l){
                // Exclude current viewing language             
                if($l['language_code'] != ICL_LANGUAGE_CODE)
                {
                    $new_items .= '<li class="menu-item menu-item-type-post_type menu-item-object-page">';
                    if(!$l['active']) $new_items .= '<a href="'.$l['url'].'">';
                    if($l['country_flag_url']){
                        $new_items .= '<img src="'.$l['country_flag_url'].'" height="12" alt="'.$l['language_code'].'" width="18" />';
                    }
                    // $items .= icl_disp_language($l['native_name'], $l['translated_name']);
                    if(!$l['active']) $new_items .= '</a>';
                    $new_items .= '</li>';
                }
            }
        }
    }
    // Idea by Simon Weil
    if(is_rtl())
    {
        $items = $new_items.$items;
    }
    else
    {
        $items .= $new_items;
    }

    return $items;
}
?>

我想通过类似“if(function_exists('icl_get_languages')&&$location=='primary')”的方式扩展if语句(“if(function_exists('icl_get_languages'))”
但是我不知道如何获取“当前位置”的值。

主题位置可以通过
$args
获得:

add_filter( 'wp_nav_menu_items', 'plugin_wpml_flag_in_menu', 10, 2 );
function plugin_wpml_flag_in_menu( $items, $args ) {
    if( $args->theme_location == 'primary' ) {
        // do stuff
    }
    return $items;
}

谢谢,你救了我一天。顺便说一句:主题名称_location='primary-menu'干杯!如果这个答案解决了你的问题,请在答案分数下勾选灰色复选标记,将其标记为正确答案。