wordpress导航菜单的链接支持弹出新页面

wordpress导航菜单的链接是默认在当前页打开的

只要在wp-includes\nav-menu-template.php的start_el函数加上三行代码就OK了

 1 /**
 2      * @see Walker::start_el()
 3      * @since 3.0.0
 4      *
 5      * @param string $output Passed by reference. Used to append additional content.
 6      * @param object $item Menu item data object.
 7      * @param int $depth Depth of menu item. Used for padding.
 8      * @param int $current_page Menu item ID.
 9      * @param object $args
10      */
11     function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
12         $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ‘‘;
13
14         $class_names = $value = ‘‘;
15
16         $classes = empty( $item->classes ) ? array() : (array) $item->classes;
17         $classes[] = ‘menu-item-‘ . $item->ID;
18
19         $class_names = join( ‘ ‘, apply_filters( ‘nav_menu_css_class‘, array_filter( $classes ), $item, $args ) );
20         $class_names = $class_names ? ‘ class="‘ . esc_attr( $class_names ) . ‘"‘ : ‘‘;
21
22         $id = apply_filters( ‘nav_menu_item_id‘, ‘menu-item-‘. $item->ID, $item, $args );
23         $id = $id ? ‘ id="‘ . esc_attr( $id ) . ‘"‘ : ‘‘;
24
25         $output .= $indent . ‘<li‘ . $id . $value . $class_names .‘>‘;
26
27         //此处新增开始
28         if($item->type=="custom")
29         {
30             $item->target="_blank";
31         }
32         //此处新增结束
33
34         $atts = array();
35         $atts[‘title‘]  = ! empty( $item->attr_title ) ? $item->attr_title : ‘‘;
36         $atts[‘target‘] = ! empty( $item->target )     ? $item->target     : ‘‘;
37         $atts[‘rel‘]    = ! empty( $item->xfn )        ? $item->xfn        : ‘‘;
38         $atts[‘href‘]   = ! empty( $item->url )        ? $item->url        : ‘‘;
39
40         $atts = apply_filters( ‘nav_menu_link_attributes‘, $atts, $item, $args );
41
42         $attributes = ‘‘;
43         foreach ( $atts as $attr => $value ) {
44             if ( ! empty( $value ) ) {
45                 $value = ( ‘href‘ === $attr ) ? esc_url( $value ) : esc_attr( $value );
46                 $attributes .= ‘ ‘ . $attr . ‘="‘ . $value . ‘"‘;
47             }
48         }
49
50         $item_output = $args->before;
51         $item_output .= ‘<a‘. $attributes .‘>‘;
52         $item_output .= $args->link_before . apply_filters( ‘the_title‘, $item->title, $item->ID ) . $args->link_after;
53         $item_output .= ‘</a>‘;
54         $item_output .= $args->after;
55
56         $output .= apply_filters( ‘walker_nav_menu_start_el‘, $item_output, $item, $depth, $args );
57     }
时间: 2024-11-06 08:11:35

wordpress导航菜单的链接支持弹出新页面的相关文章

Siebel 找字段、下拉菜单设置值、弹出新页面、弹出选择框、设置默认值 、按钮代码

产品缺陷太多,跟用户交互不人性化.例如搜索新建客户功能,用户输入后会自动保存数据,一旦保存后一. 找字段1.简单 CTRL+Q CTRL+Q 服务请求编号----对应的表.字段.长度: 客户编码-----对应的表.字段.长度(弹出新页面):- 点击上面的pick Applet会弹出“选取客户”对话框 有JOIN就不用TABLE:require代表必填 字段有两个值----项目编号 下图确定只有projectNum有用 3.表单中的字段(不在list column中,而是在control) 二.下

Selenium弹出新页面无法定位元素问题(Unable to locate element)--多窗口切换

最近学习到多窗口切换,在页面操作过程中有时点击某个链接会弹出新的窗口,这时需要先切换到新窗口才能对其进行操作.Webdriver提供了switch_to.window( ) 方法实现在不同窗口中切换. 查阅相关资料,得到两种方法来定位到当前页面: 方法一: browser.switch_to_window(browser.window_handles[1]) 方法二:直接定位当前最新弹出的窗口 for handle in browser.window_handles:#方法二,始终获得当前最后的

javascript 关于弹出新页面始终在正中央方法

记录一个关于弹出新页面始终在正中央方法 function openwindow(url, name, iWidth, iHeight) { var url;                                //转向网页的地址; var name;                          //网页名称,可为空; var iWidth;                         //弹出窗口的宽度; var iHeight;                       

导航菜单跳转后,新页面上菜单CSS选定

1 <div class="menu"> 2 <ul> 3 <li><a href="#" title="网站首页" class="home" >首页</a></li> 4 <li><a href="#" title="测试导航" >测试导航</a></li> 5 &l

js 弹出新页面,避免被浏览器、ad拦截的一种办法

以绑定click弹窗的方式,改为普通的链接,即 a[target=_blank],在点击打开新窗口之前,修改其href. 绑定mousedown,鼠标点击执行完成前修改href. 绑定focus,保证tab切换+enter时替换href. <input type="search" id="keyword" value="" autocomplete="off" placeholder="请输入搜索关键字&quo

WordPress入门 之 设置导航菜单

WordPress 3.0 添加了一个自定义导航菜单的功能,让你可以很自由地设置网站的导航菜单.现在大多数的主题也都支持这个功能了,那么,究竟该如何设置WordPress导航菜单?今天倡萌就介绍一下. 如何确定主题是否支持自定义菜单功能? 启用主题后,访问后台 - 外观 - 菜单,如果你看到下图所示内容,说明主题不支持自定义菜单,反之,则支持: 自定义导航菜单 在自定义菜单之前,你需要创建好所需的文章分类和页面,请参考<创建和管理文章分类>,下面进入正题. 创建菜单 打开后台 - 外观 - 菜

响应式WEB设计:将导航菜单转换成下拉菜单以适应小屏幕设备

移动互联网时代的到来,使得我们在进行页面设计与开发时,应当根据用户行为以及设备环境(系统平台.屏幕尺寸)进行相应的响应和调整,这个理念也叫响应式WEB设计.今天我将给大家讲解当屏幕尺寸变小时,将横向菜单转换成下拉菜单的效果. 本文使用了HTML5标签以及CSS3技术,您在查看demo时需要您的浏览器支持HTML5和CSS3,建议使用Chrome,Firefox或者IE9等现代浏览器. HTML <nav> <ul> <li><a href="/"

基于jQuery自适应窗口大小导航菜单

基于jQuery自适应窗口大小导航菜单.这是一款响应式导航菜单特效,支持手机导航菜单代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <h1>jQuery / Zepto响应式菜单 PgwMenu 演示</h1> <p class="dowebok-explain">请缩小/放大浏览器窗口宽度查看效果</p> <h2>深色样式(默认)</h2> <ul class="pgwM

android.support.v4.widget.DrawerLayout 抽屉效果导航菜单

抽屉效果导航菜单图示 如图所示,抽屉效果的导航菜单不用切换到另一个页面,也不用去按菜单的硬件按钮,直接在界面左上角的一个按钮点击,菜单就滑出来,而且感觉能放很多东西 概况:实现上图所示的抽屉效果的导航菜单有以下两种方式 方式1.用SlidingDrawer: http://developer.android.com/reference/android/widget/SlidingDrawer.html 但是不知道为什么这个类官方不建议再继续用了: Deprecated since API lev