Сообщение о сбросе пароля – измените network_home_url( ‘/’ )

Вопрос или проблема

Я хотел бы изменить обычное сообщение, отправляемое WordPress, которое гласит следующее:

Кто-то запросил сброс пароля для следующей учетной записи:
http://myexample.com/

Я знаю, что это сообщение приходит из wp-login.php, который содержит следующие строки:

$message = __('Кто-то запросил сброс пароля для следующей учетной записи:') . "\r\n\r\n";
$message .= network_home_url( "https://wordpress.stackexchange.com/" ) . "\r\n\r\n";

Есть ли способ изменить $message .= network_home_url( “https://wordpress.stackexchange.com/” ) на
http://myexample.com/member, добавив что-то в functions.php, возможно?

Большое спасибо.

Давайте проверим Codex и перейдем по ссылкам к исходному коду:

3029    function network_home_url( $path="", $scheme = null ) {
3030            if ( ! is_multisite() )
3031                    return home_url($path, $scheme);
3032    
3033            $current_site = get_current_site();
3034            $orig_scheme = $scheme;
3035    
3036            if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) )
3037                    $scheme = is_ssl() && ! is_admin() ? 'https' : 'http';
3038    
3039            if ( 'relative' == $scheme )
3040                    $url = $current_site->path;
3041            else
3042                    $url = set_url_scheme( 'http://' . $current_site->domain . $current_site->path, $scheme );
3043    
3044            if ( $path && is_string( $path ) )
3045                    $url .= ltrim( $path, "https://wordpress.stackexchange.com/" );
3046    
3047            /**
3048             * Фильтровать URL домашней сети.
3049             *
3050             * @since 3.0.0
3051             *
3052             * @param string      $url         Полный URL домашней сети, включая схему и путь.
3053             * @param string      $path        Путь относительно домашнего URL сети. Пустая строка
3054             *                                 если путь не указан.
3055        https://core.trac.wordpress.org/browser/tags/4.3.1/src/wp-includes/link-template.php#L3029     * @param string|null $orig_scheme Схема для контекста URL. Принимает 'http', https://core.trac.wordpress.org/browser/tags/4.3.1/src/wp-includes/link-template.php#L3029'https',
3056             *                                 'relative' или null.
3057             */
3058            return apply_filters( 'network_home_url', $url, $path, $orig_scheme);
3059    }

Мы видим, что да, существует фильтр под названием network_home_url, который мы можем использовать для изменения ссылки. Простой фильтр, подобный следующему, сделает это, хотя я сомневаюсь, что вам нужно что-то такое упрощенное на практике:

function alter_net_link_wpse_206603($url, $path, $orig_scheme) {
  return 'http://myexample.com/member';
}
add_filter('network_home_url','alter_net_link_wpse_206603',10,3);

Ответ или решение

Чтобы изменить сообщение о сбросе пароля в WordPress, вы можете использовать фильтр network_home_url. Этот фильтр позволяет вам изменить URL, который используется в стандартном сообщении. В вашем случае вам нужно заменить текущий URL на http://myexample.com/member.

Для этого откройте файл functions.php вашей темы и добавьте следующий код:

function alter_net_link_wpse_206603($url, $path, $orig_scheme) {
    return 'http://myexample.com/member'; // Замените на ваш URL
}
add_filter('network_home_url','alter_net_link_wpse_206603',10,3);

Объяснение кода:

  1. Функция alter_net_link_wpse_206603:

    • Эта функция принимает три параметра: $url, $path и $orig_scheme.
    • Мы просто возвращаем ваш новый URL — http://myexample.com/member.
  2. Добавление фильтра:

    • С помощью функции add_filter мы подключаем нашу функцию к фильтру network_home_url.
    • Параметры 10 и 3 указывают приоритет фильтра и количество принимаемых параметров соответственно.

Результат:

После добавления этого кода, всякий раз, когда будет отправлено сообщение о сбросе пароля, URL будет изменён на http://myexample.com/member. Это решит вашу задачу изменения стандартного сообщения, отправляемого WordPress при запросе сброса пароля.

Надеюсь, это поможет! Если у вас есть дополнительные вопросы, не стесняйтесь задавать.

Оцените материал
Добавить комментарий

Капча загружается...