WordPress.org

Making WordPress.org

Ticket #3109: 3109-banner-link.diff

File 3109-banner-link.diff, 1.4 KB (added by tellyworth, 3 years ago)

Use referring link in banner on pages other than single plugin. Needs testing.

  • api/routes/class-locale-banner.php

     
    8686                if ( 'en_US' === $current_locale ) {
    8787                        $current_site = get_site();
    8888
     89                        $referring_path = wp_parse_url( $request->get_header( 'referer' ), PHP_URL_PATH );
     90                        if ( $referring_path && '/' === $referring_path[0] )
     91                                $current_path = $referring_path;
     92                        else
     93                                $current_path = $current_site->path;
     94
    8995                        // Only one locale suggestion.
    9096                        if ( 1 === count( $suggest_named_locales ) ) {
    9197                                $locale   = key( $suggest_named_locales );
     
    109115                                                sprintf(
    110116                                                        '<a href="https://%s.wordpress.org%s">%s</a>',
    111117                                                        $locale_subdomain_assoc[ $locale ]->subdomain,
    112                                                         $current_site->path,
     118                                                        esc_url( $current_path ),
    113119                                                        $language
    114120                                                )
    115121                                        );
     
    151157                                                $other_suggest .= sprintf(
    152158                                                        '<a href="https://%s.wordpress.org%s">%s</a>, ',
    153159                                                        $locale_subdomain_assoc[ $locale ]->subdomain,
    154                                                         $current_site->path,
     160                                                        $esc_url( $current_path ),
    155161                                                        $language
    156162                                                );
    157163                                        }
     
    161167                                                sprintf(
    162168                                                        '<a href="https://%s.wordpress.org%s">%s</a>',
    163169                                                        $locale_subdomain_assoc[ $primary_locale ]->subdomain,
    164                                                         $current_site->path,
     170                                                        $esc_url( $current_path ),
    165171                                                        $primary_language
    166172                                                ),
    167173                                                trim( $other_suggest, ' ,' )