Как удалить все экземпляры edit_post_link

11 июл. 2011 г., 04:16:07
Просмотры: 14.2K
Голосов: 7

Кто-нибудь может помочь с удалением edit_post_link (ссылки "Редактировать") из моей темы во время режима автора? Какие файлы PHP в теме Twenty Eleven (WordPress v3.2) нужно закомментировать, чтобы эта ссылка больше не отображалась на всех страницах?

Я понимаю, что эта ссылка видна только в режиме автора, но хотел бы знать, как удалить её полностью.

Спасибо.

0
Все ответы на вопрос 5
3
14

Один из способов — редактировать файлы шаблонов вашей темы. Поскольку вы упомянули, что используете Twenty Eleven, вы можете последовать совету @kaiser.

Другой способ, который я предпочитаю вместо изменения файлов шаблона, — это использование фильтра. Преимущество фильтра в том, что он будет работать и с другими темами. Недостаток в том, что в исходном HTML-коде останутся пустые теги <span></span>, хотя они не будут видны на странице.

Вы можете добавить следующий код в свой functions.php:

function wpse_remove_edit_post_link( $link ) {
    return '';
}
add_filter('edit_post_link', 'wpse_remove_edit_post_link');

P.S. Вы также можете использовать фильтр, чтобы отключать ссылку редактирования для выборочных записей.

11 июл. 2011 г. 11:39:24
Комментарии

Или просто используйте add_filter( 'edit_post_link', '__return_false' ); :)

kaiser kaiser
11 июл. 2011 г. 18:34:34

Будет ли add_filter( 'edit_post_link', '__return_null' ); более подходящим, чем false?

jb510 jb510
19 нояб. 2013 г. 04:25:23

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

f055 f055
11 янв. 2018 г. 17:38:04
1

Ответ Hameedullah более элегантен, но не удаляет элементы "до" и "после". Чтобы сделать это, нужно фильтровать get_edit_post_link и возвращать null.

function wpse_remove_get_edit_post_link( $link ) {
    return null;
}
add_filter('get_edit_post_link', 'wpse_remove_get_edit_post_link');
9 авг. 2015 г. 10:21:01
Комментарии

это также удаляет ссылку на редактирование в админке!

jasie jasie
2 апр. 2020 г. 11:45:58
0

Это функция edit_post_link(). Вам нужно закомментировать строки, подобные следующей:

// из файла /twentyeleven/content-intro.php
edit_post_link( __( 'Редактировать', 'twentyeleven' ), '<span class="edit-link">', '</span>' );
11 июл. 2011 г. 04:33:34
0

Вот однострочное решение: add_filter('edit_post_link', '__return_false');
Бонус: Скрыть админ-панель add_filter('show_admin_bar', '__return_false');

17 мар. 2018 г. 03:00:03
0

Скрытие ссылки на редактирование записи для пользователей без прав администратора.

// Начало скрытия ссылки редактирования записи для не администраторов.

function prefix_remove_get_edit_post_link( $link ) {
    if(current_user_can('administrator')) {
        return $link;
    }
    return null;
}

add_filter('get_edit_post_link', 'prefix_remove_get_edit_post_link');

// Конец скрытия ссылки редактирования записи для не администраторов.
26 февр. 2021 г. 18:13:38