Making WordPress.org

Ticket #2870: hreflang.2.patch

File hreflang.2.patch, 2.9 KB (added by joostdevalk, 7 years ago)

Patch that removes the hreflang functions from the theme

  • wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/functions.php

    diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/functions.php
    index a884b099..301451e5 100644
    function social_meta_data() { 
    242242add_action( 'wp_head', __NAMESPACE__ . '\social_meta_data' );
    243243
    244244/**
    245  * Adds hreflang link attributes to plugin pages.
    246  *
    247  * @link https://support.google.com/webmasters/answer/189077?hl=en Use hreflang for language and regional URLs.
    248  * @link https://sites.google.com/site/webmasterhelpforum/en/faq-internationalisation FAQ: Internationalisation.
    249  */
    250 function hreflang_link_attributes() {
    251         if ( is_404() ) {
    252                 return;
    253         }
    254 
    255         wp_cache_add_global_groups( array( 'locale-associations' ) );
    256 
    257         if ( false === ( $sites = wp_cache_get( 'local-sites', 'locale-associations' ) ) ) {
    258                 global $wpdb;
    259 
    260                 $sites = $wpdb->get_results( 'SELECT locale, subdomain FROM locales', OBJECT_K );
    261                 if ( ! $sites ) {
    262                         return;
    263                 }
    264 
    265                 require_once GLOTPRESS_LOCALES_PATH;
    266 
    267                 foreach ( $sites as $site ) {
    268                         $gp_locale = \GP_Locales::by_field( 'wp_locale', $site->locale );
    269                         if ( ! $gp_locale ) {
    270                                 unset( $sites[ $site->locale ] );
    271                                 continue;
    272                         }
    273 
    274                         $hreflang = false;
    275 
    276                         // Note that Google only supports ISO 639-1 codes.
    277                         if ( isset( $gp_locale->lang_code_iso_639_1 ) && isset( $gp_locale->country_code ) ) {
    278                                 $hreflang = $gp_locale->lang_code_iso_639_1 . '-' . $gp_locale->country_code;
    279                         } elseif ( isset( $gp_locale->lang_code_iso_639_1 ) ) {
    280                                 $hreflang = $gp_locale->lang_code_iso_639_1;
    281                         } elseif ( isset( $gp_locale->lang_code_iso_639_2 ) ) {
    282                                 $hreflang = $gp_locale->lang_code_iso_639_2;
    283                         } elseif ( isset( $gp_locale->lang_code_iso_639_3 ) ) {
    284                                 $hreflang = $gp_locale->lang_code_iso_639_3;
    285                         }
    286 
    287                         if ( $hreflang && 'art' !== $hreflang ) {
    288                                 $sites[ $site->locale ]->hreflang = strtolower( $hreflang );
    289                         } else {
    290                                 unset( $sites[ $site->locale ] );
    291                         }
    292                 }
    293 
    294                 // Add en_US to the list of sites.
    295                 $sites['en_US'] = (object) array(
    296                         'locale'    => 'en_US',
    297                         'hreflang'  => 'en',
    298                         'subdomain' => ''
    299                 );
    300 
    301                 uasort( $sites, function( $a, $b ) {
    302                         return strcasecmp( $a->hreflang, $b->hreflang );
    303                 } );
    304 
    305                 wp_cache_set( 'local-sites', $sites, 'locale-associations' );
    306         }
    307 
    308         foreach ( $sites as $site ) {
    309                 $url = sprintf(
    310                         'https://%swordpress.org%s',
    311                         $site->subdomain ? "{$site->subdomain}." : '',
    312                         $_SERVER[ 'REQUEST_URI' ]
    313                 );
    314 
    315                 printf(
    316                         '<link rel="alternate" href="%s" hreflang="%s" />' . "\n",
    317                         esc_url( $url ),
    318                         esc_attr( $site->hreflang )
    319                 );
    320         }
    321 }
    322 add_action( 'wp_head', __NAMESPACE__ . '\hreflang_link_attributes' );
    323 
    324 /**
    325245 * Bold archive terms are made here.
    326246 *
    327247 * @param string $term The archive term to bold.