加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – WordPress:如何将url GET参数添加到我的主菜单项

发布时间:2020-12-13 21:49:11 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试将URL GET参数添加到Wordpress中的一个主菜单项(但我不知道如何).所以,我的方法是检测菜单项上的click事件,然后通过ajax将参数传递给我的php页面,该页面将根据需要处理传递的值.我的主要问题是,看着我的代码,怎么回事?有没有更好的方法在Wordpres
我正在尝试将URL GET参数添加到Wordpress中的一个主菜单项(但我不知道如何).所以,我的方法是检测菜单项上的click事件,然后通过ajax将参数传递给我的php页面,该页面将根据需要处理传递的值.我的主要问题是,看着我的代码,怎么回事?有没有更好的方法在Wordpress中执行此操作而不依赖于 JavaScript?

Here is the javascript:
    <script type="text/javascript">
        $(document).ready(function() {
            $("#menu-item-128").click(function() {
                $.ajax({
                    url: 'homepage.php',type: "GET",data: ({ homeclick = true }),success: function() {
                       alert("success!");
                    }
                });
             });
         });
   </script>

Here is my PHP:
   $homeclick = $_GET['homeclick'];   

   if ( !isset( $_COOKIE['hs_user'] ) ) {
       get_header();
   } elseif (isset( $_COOKIE['hs_user'] ) && $homeclick == true ) {
       get_header();
   } else {
       // Do Something else
       header('Location: homepage-returning-users');        
   }

解决方法

过滤器钩子wp_get_nav_menu_items用于操纵Nav菜单.示例中使用的post_title是菜单(导航标签)的标题,而不是帖子/页面的标题.

将此代码放在functions.php文件中,根据需要调整post_title和?my_var = test.请注意,功能优于create your own plugin.

add_filter( 'wp_get_nav_menu_items','nav_items',11,3 );

function nav_items( $items,$menu,$args ) 
{
    if( is_admin() )
        return $items;

    foreach( $items as $item ) 
    {
        if( 'Home' == $item->post_title)
            $item->url .= '?my_var=test';

    }
    return $items;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读