Так у Вас по ходу дела имя автора блога совпадает с логином. Верно?
Имя пользователя wordpress у меня, предположим, XXX, а никнейм admin.
То есть — я захожу на страницу site.ru/author/XXX и вижу публикации от имени admin.
Но мне бы вообще уничтожить эту страницу — разве так важно какое у меня имя блога и логин?
При удалении файла author.php страница становится пустой, но все ещё доступна по заданному адресу.
адрес можно удалить через гугл-мастер
Ежели я захочу зайти на /author/1234 то мне ответят что такая страница не найдена — хотелось бы сделать аналогичное.
Можно добавить фрагмент в functions.php
активной темы:
function disable_author_archives() {
if ( is_author() ) {
$GLOBALS['wp_query']->set_404();
}
}
add_action( 'template_redirect', 'disable_author_archives' );
Или пару строк в .htaccess
перед правилами WordPress:
RewriteEngine On
RewriteRule ^author/ - [R=404,L]
Даже если предположить что можно это не очень мне поможет, так как если вбить в адресную строку site.ru/?author=1 то я снова попаду на author/XXX что опять выдаст мой логин.
Sergey Biryukov
При добавлении
function disable_author_archives() {
if ( is_author() ) {
$GLOBALS['wp_query']->set_404();
}
}
add_action( 'template_redirect', 'disable_author_archives' );
исчезают все написанные посты и сайт говорит мне что такой информации не существует, НО если прописать site.ru/?author=1 то я снова попаду на author/XXX, который будет без информации.
При редактировании .htaccess я даже на site./author зайти не могу, НО если прописать site.ru/?author=1 то я снова попаду на author/XXX, где мне скажут 404 not found.
Проблема состоит в том, что я всё-равно засвечу свой логин, записи от своего имени мне не так важны.
Проблема решена
Сменил в базе данныx MySQL значение user_nicename с XXX на admin.
Теперь если вводить site.ru/?author=1 то будешь переадресовывать на site.ru/author/admin, что не является логином для wordpress.
если прописать site.ru/?author=1 то я снова попаду на author/XXX
Перенаправления можно избежать, используя более раннее действие wp
вместо template_redirect
:
function disable_author_archives() {
if ( is_author() ) {
$GLOBALS['wp_query']->set_404();
}
}
add_action( 'wp', 'disable_author_archives' );
Стоит заметить, что логин в WordPress не считается секретной информацией, лучше позаботиться о надёжном пароле (от 24 символов, с цифрами и спецсимволами).
Спасибо — помогло, теперь не переадресовывает.
Логин по вашему совету сделал длиннее :3