我正在尝试将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; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。