Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用添加过滤器()编辑WordPress菜单_Php_Wordpress_Wordpress Theming - Fatal编程技术网

Php 使用添加过滤器()编辑WordPress菜单

Php 使用添加过滤器()编辑WordPress菜单,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我正在尝试使用add_filter()编辑我的菜单并添加两个链接(“登录”、“注销”)。然而,它从来没有显示,我也不知道我做错了什么 register_nav_menus( array( 'primary' => __( 'Primary Menu', '_s' ), 'quick' => __( 'Quick Links', '_s' ), ) ); add_filter( 'quick', 'add_loginout_link',

我正在尝试使用
add_filter()
编辑我的菜单并添加两个链接(“登录”、“注销”)。然而,它从来没有显示,我也不知道我做错了什么

register_nav_menus( array(
        'primary' => __( 'Primary Menu', '_s' ),
        'quick' => __( 'Quick Links', '_s' ),
    ) );

    add_filter( 'quick', 'add_loginout_link', 10, 2 );
    function add_loginout_link( $items, $args ) {

        if (is_user_logged_in() && $args->theme_location == 'quick') {
            $items .= '<li><a href="'. wp_logout_url() .'">Retailer Log Out</a></li>';
        }
        elseif (!is_user_logged_in() && $args->theme_location == 'quick') {
            $items .= '<li><a href="'. site_url('/retailer-login') .'">Retailer Log In</a></li>';
        }
        return $items;
    }
注册导航菜单(阵列)(
“主菜单”=>“(“主菜单”、“主菜单”),
'quick'=>uuu('quick Links','us'),
) );
添加过滤器(“快速”,“添加登录链接”,10,2);
函数add\u loginout\u link($items,$args){
如果(用户是否已登录()&&$args->theme\u location=='quick'){
$items.='
  • '; } elseif(!是否已登录用户()&&&$args->theme\u location=='quick'){ $items.='
  • '; } 退回$items; }
    这是我的functions.php,我想知道是否有人知道我的难题的解决方案

    谢谢

    更新:


    我发现了问题的一部分,上面的代码工作正常,但是我的菜单显示了这个特定的菜单在小部件中,出于某种原因,它从未得到更改。此菜单是页脚的一部分,它通过小部件加载

    您意识到add_filter()函数的第一个参数是要将函数挂接到的现有过滤器的名称,对吗?i、 e可能是这里详细介绍的过滤器之一,除非您已经定制了自己的过滤器:我发现了这个问题,但是我的菜单显示在小部件中,由于某种原因它从未更新。所以功能都很好,但由于某些原因,小部件阻止它显示更改可能在调用脚本时安装的某些部分还没有加载?