Make WordPress Core

Ticket #31645: 31645.5.patch

File 31645.5.patch, 1.2 KB (added by azaozz, 9 years ago)
  • src/wp-admin/includes/class-wp-press-this.php

     
    561561                        foreach ( $items as $value ) {
    562562                                if ( preg_match( '/rel=["\'](canonical|shortlink|icon)["\']/i', $value, $matches_rel ) && preg_match( '/href=[\'"]([^\'" ]+)[\'"]/i', $value, $matches_url ) ) {
    563563                                        $rel = $matches_rel[1];
    564                                         $url = $this->_limit_url( $matches_url[1] );
     564                                        $url = $matches_url[1];
    565565
     566                                        if ( $rel === 'canonical' && ! preg_match( '%^(?:https?:)?//%i', $url ) ) {
     567                                                continue;
     568                                        }
     569
     570                                        $url = $this->_limit_url( $url );
     571
    566572                                        if ( ! empty( $url ) && empty( $data['_links'][ $rel ] ) ) {
    567573                                                $data['_links'][ $rel ] = $url;
    568574                                        }
     
    663669                                                                $data = $this->_process_meta_entry( $key, $value, $data );
    664670                                                        }
    665671                                                } else {
     672                                                        if ( $key === 'canonical' && ! preg_match( '%^(?:https?:)?//%i', $value ) ) {
     673                                                                continue;
     674                                                        }
     675
    666676                                                        if ( in_array( $key, array( 'canonical', 'shortlink', 'icon' ), true ) ) {
    667677                                                                $data[ $type ][ $key ] = $this->_limit_url( wp_unslash( $value ) );
    668678                                                        }