Make WordPress Core

Ticket #43290: 43290.diff

File 43290.diff, 762 bytes (added by audrasjb, 7 years ago)

adds default noopener value to menu items with target blank attribute

  • src/wp-includes/class-walker-nav-menu.php

    diff --git a/src/wp-includes/class-walker-nav-menu.php b/src/wp-includes/class-walker-nav-menu.php
    index 5e2335a..1a5e475 100644
    a b class Walker_Nav_Menu extends Walker { 
    172172                $atts           = array();
    173173                $atts['title']  = ! empty( $item->attr_title ) ? $item->attr_title : '';
    174174                $atts['target'] = ! empty( $item->target ) ? $item->target : '';
    175                 $atts['rel']    = ! empty( $item->xfn ) ? $item->xfn : '';
     175                if ( '_blank' === $item->target && empty( $item->xfn ) ) {
     176                        $atts['rel'] = 'noopener';
     177                } else {
     178                        $atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
     179                }
    176180                $atts['href']   = ! empty( $item->url ) ? $item->url : '';
    177181
    178182                /**