WordPress.org

Making WordPress.org

Changeset 6340


Ignore:
Timestamp:
01/10/2018 07:00:21 PM (2 years ago)
Author:
obenland
Message:

Plugins: Make locale banner path-aware.

Links to the localized version of the current path rather than just the Plugin Directory homepage.

Props tellyworth for initial patch.
Fixes #3109.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-locale-banner.php

    r6287 r6340  
    8686        // English directory.
    8787        if ( 'en_US' === $current_locale ) {
    88             $current_site = get_site();
     88            $current_path   = get_site()->path;
     89            $referring_path = wp_parse_url( $request->get_header( 'referer' ), PHP_URL_PATH );
     90
     91            if ( $referring_path && '/' === $referring_path[0] ) {
     92                $current_path = $referring_path;
     93            }
    8994
    9095            // Only one locale suggestion.
     
    97102                        $this->translate( 'This plugin is also available in %1$s. <a href="%2$s">Help improve the translation!</a>', $locale ),
    98103                        sprintf(
    99                             '<a href="https://%s.wordpress.org%s%s/">%s</a>',
     104                            '<a href="https://%s.wordpress.org%s">%s</a>',
    100105                            $locale_subdomain_assoc[ $locale ]->subdomain,
    101                             $current_site->path,
    102                             $plugin_slug,
     106                            esc_url( $current_path ),
    103107                            $language
    104108                        ),
     
    111115                            '<a href="https://%s.wordpress.org%s">%s</a>',
    112116                            $locale_subdomain_assoc[ $locale ]->subdomain,
    113                             $current_site->path,
     117                            esc_url( $current_path ),
    114118                            $language
    115119                        )
     
    127131                    foreach ( $suggest_named_locales as $locale => $language ) {
    128132                        $other_suggest .= sprintf(
    129                             '<a href="https://%s.wordpress.org%s%s/">%s</a>, ',
     133                            '<a href="https://%s.wordpress.org%s/">%s</a>, ',
    130134                            $locale_subdomain_assoc[ $locale ]->subdomain,
    131                             $current_site->path,
    132                             $plugin_slug,
     135                            esc_url( $current_path ),
    133136                            $language
    134137                        );
     
    138141                        $this->translate( 'This plugin is also available in %1$s (also: %2$s). <a href="%3$s">Help improve the translation!</a>', $primary_locale ),
    139142                        sprintf(
    140                             '<a href="https://%s.wordpress.org%s%s/">%s</a>',
     143                            '<a href="https://%s.wordpress.org%s">%s</a>',
    141144                            $locale_subdomain_assoc[ $primary_locale ]->subdomain,
    142                             $current_site->path,
    143                             $plugin_slug,
     145                            esc_url( $current_path ),
    144146                            $primary_language
    145147                        ),
     
    153155                            '<a href="https://%s.wordpress.org%s">%s</a>, ',
    154156                            $locale_subdomain_assoc[ $locale ]->subdomain,
    155                             $current_site->path,
     157                            esc_url( $current_path ),
    156158                            $language
    157159                        );
     
    163165                            '<a href="https://%s.wordpress.org%s">%s</a>',
    164166                            $locale_subdomain_assoc[ $primary_locale ]->subdomain,
    165                             $current_site->path,
     167                            esc_url( $current_path ),
    166168                            $primary_language
    167169                        ),
Note: See TracChangeset for help on using the changeset viewer.