TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Как изменить слаг авторов в WordPress (или как изменить ссылку автора на блоге)

627

Слаг Автора – это средняя часть URL автора, по умолчанию это https://домен.юа/author/attila/..

По какой – то причине, в отличии от категории или тегов, WordPress не дает нам возможность изменить его Settings Permalinks Screen( Настройки > Permalinks администратора страницы), поэтому нам нужно найти альтернативный путь.

В этой статье я покажу вам два возможных подхода к изменению слага Автора программно. В первом фрагменте мы определим новую базу в нашем исходном коде. Затем, для большей гибкости, мы будем выполнять модификацию динамически через поле ввода на странице Постоянные ссылки.

Переписать URL

Когда дело доходит до изменения слага авторов, мы должны изменить $wp_rewriteглобальную переменную. Это единственный экземпляр,WP_Rewrite class который WordPress использует для управления правилами перезаписи URL. Благодаря этому наш сайт на WordPress имеет SEO-ориентированные Pretty Permalinks.

Код № 1 – Кодирование Авторской Базы

В приведенном выше коде, мы просто присвоим строку к author_baseсвойству $wp_rewriteобъекта, например, «пользователь» или «профиль». Помните, что это часть URL – адреса, поэтому не используйте никаких специальных символов или пробелов.

Давайте посмотрим, что произойдет после применения кода, и попробуем найти наш новый URL-адрес автора. Мы получим ошибку «Страница не найдена». Чтобы сделать это изменение постоянным, мы должны перестроить структуру постоянных ссылок. Перейдите к Permalinks экрана администратора и нажмите Сохранить.

Примечание. Мы также можем программно перестроить структуру постоянных ссылок, вызвав  функцию. Это очень дорогая операция, поэтому обязательно шлите запрос только один раз.flush_rewrite_rules()

Как показано, этот метод состоит из 2 этапов: создание самого кода и перестройка структуры постоянной ссылки. Не было бы удобнее выполнять это только на странице администратора? Все в порядке. Давайте расширим наш код.

Код № 2 – динамическое изменение слага авторов

Следующий фрагмент позволяет пользователям самим изменять слагавторов через поле ввода на экране администратора Permalinks. Это более удобный способ модификации.

В приведенном выше коде мы используем функцию для создания поля ввода. Функция (то есть зацепили к действию) обрабатывает обновления. Обычно за это отвечает функция API, но она не работает на странице Постоянные ссылки. Она отлично выполняет свою работу на других страницах настроек, таких как Общие или Чтение, но не здесь. Наша пользовательская функция – это решение проблемы. Она делает все, что должна делать функция, включая обработку ошибок, очистку и сохранение данных в таблице базы данных опций. Как и в первом подходе, суть кода заключается в измененииadd_settings_field()Settings APIlwp_2610_author_base_update()``admin_initregister_setting()register_settings()  $wp_rewriteглобальный объект. Но на этот раз изменение слага автора исходит из базы данных.

После применения фрагмента в нижней части раздела « Параметры » на странице «Постоянные ссылки» появляется новый текстовый ввод.

Ввод профиля

Источник записи: https://letswp.io

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