Intereting Posts
Заголовок не отображается с помощью мини-изображений Woo Как скрыть «Фильтровать список пользователей» на экране «Все пользователи» Получить список скриптов / стилей и показать файл, который их ставил в очередь Как исправить .htaccess поврежден PHP $ _REQUEST массив пуст Get_terms перестает работать после WP 4.2 поиск сериализованного meta_value для значения даты? На веб-сайте клиентов отображается пустая страница Собственная тема WordPress с пользовательскими АФК> Экспортировать все в формат темы? Как добавить условия в мой tax_query, основанный на текущем сообщении Показать комментарии к сообщению пользователя только в том случае, если они являются логином Английская версия моего сайта показывает французские строки Как заполнять данные из JSON с помощью AJAX в TypeScript? Не удалось выполнить попытки входа в систему Как получить дочернюю тему для загрузки скриптов из родительской темы?

Изменить ссылку «Назад на сайт» в wp-login.php

Форма входа на страницу wp-login.php содержит ссылку внизу, которая говорит «Назад к названию веб-сайта ». Эта ссылка всегда перенаправляется на домашнюю страницу, я бы хотел, чтобы она перенаправлялась на страницу, с которой пришел пользователь.

Я предполагаю, что для этого требуется крючок, добавленный в functions.php, но я не уверен, как и не мог найти ничего при поиске.

Есть идеи?

Solutions Collecting From Web of "Изменить ссылку «Назад на сайт» в wp-login.php"

Вы можете добиться этого, используя Javascript и login_footer action hook, чтобы изменить атрибут href ссылки « Back to :

 <?php add_action('login_footer', 'ad_login_footer'); function ad_login_footer() { $ref = wp_get_referer(); if ($ref) : ?> <script type="text/javascript"> jQuery(document).ready(function($){ $("p#backtoblog a").attr("href", '<?php echo esc_js($ref); ?>'); }); </script> <?php endif; } ?> 

Редактировать:

Благодаря ответу @brasofilo вам может потребоваться загрузить jQuery в wp-login.php . Он может быть загружен уже вашей темой или другим плагином, поэтому вам нужно проверить. Чтобы загрузить jQuery, чтобы использовать вышеуказанный код:

 add_action('login_head', 'jquery_for_wp_login'); function jquery_for_wp_login() { wp_print_scripts(array('jquery')); } 

У этой ссылки нет никакого крючка, который позволяет изменять ее напрямую.

Это должно быть сделано с помощью Javascript, и, поскольку страница входа в систему не загружает jQuery по умолчанию (по крайней мере, это то, что происходит в моей тестовой среде) , я искал чистое решение JS .

Таким образом, этот код перехватывает действие login_footer и печатает JS-скрипт, который изменит ссылку на history.go(-1); ,

 add_action( 'login_footer', 'change_back_to_blog_wpse_82152' ); function change_back_to_blog_wpse_82152() { ?> <script type="text/javascript"> function init() { // quit if this function has already been called if (arguments.callee.done) return; // flag this function so we don't do the same thing twice arguments.callee.done = true; // kill the timer if (_timer) clearInterval(_timer); // CHANGE THE LINK document. getElementById('backtoblog'). getElementsByTagName('a')[0]. href = 'javascript:history.go(-1);'; }; /* for Mozilla/Opera9 */ if (document.addEventListener) { document.addEventListener("DOMContentLoaded", init, false); } /* for Internet Explorer */ /*@cc_on @*/ /*@if (@_win32) document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>"); var script = document.getElementById("__ie_onload"); script.onreadystatechange = function() { if (this.readyState == "complete") { init(); // call the onload handler } }; /*@end @*/ /* for Safari */ if (/WebKit/i.test(navigator.userAgent)) { // sniff var _timer = setInterval(function() { if (/loaded|complete/.test(document.readyState)) { init(); // call the onload handler } }, 10); } /* for other browsers */ window.onload = init; </script> <?php } 

Если вы ищете PHP-решение, я бы пошел на это:

  • Для этой ссылки нет конкретного привязки / действия / фильтра.
  • Однако на этой странице входа есть общий фильтр home_url .

Что вы можете сделать, так это взять отпечаток функции hook, который вызывается на этой странице, проверить запрошенную страницу и создать условную фильтрацию, которая фильтрует значение home_url только в этом конкретном сценарии.

Оберните его красиво в собственном плагине и сохраните его в обязательной папке с плагинами, например. Предотвращает взлом ядра (например, если вы не используете какой-либо контроль версий).

В противном случае, если вы находитесь под git, просто разветвитесь, добавьте фильтр, свой собственный для этой ссылки, внесите плагин и продолжайте использовать его, когда вам нужно (меньше проблем).