it-swarm.com.de

So entfernen Sie alle Instanzen von edit_post_link

Kann mir jemand bitte helfen, wie ich im Autorenmodus den edit_post_link (Link bearbeiten) auf allen meinen Seiten aus meinem Thema entfernen kann? Welche PHP-Dateien im Twenty Eleven-Theme (WordPress v3.2) muss ich auskommentieren, um diesen Bearbeitungslink nicht mehr anzuzeigen?

Mir ist klar, dass Sie dies nur im Autorenmodus sehen, aber wissen möchten, wie Sie es insgesamt entfernen können.

Vielen Dank.

7
tonyf

Es ist die Funktion edit_post_link() . Sie finden folgende Zeilen, die Sie auskommentieren müssen:

// from /twentyeleven/content-intro.php
edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' );
4
kaiser

Eine Möglichkeit besteht darin, die Vorlagendateien Ihres Themas zu bearbeiten, wie Sie in Ihrer Frage erwähnt haben, dass Sie Twenty Eleven verwenden, sodass Sie dem Rat von @kaiser folgen können.

Die andere Möglichkeit, die ich vorziehen werde, anstatt die Vorlagendateien zu ändern, ist die Verwendung des Filters. Der Vorteil des Filters ist, dass es auch mit anderen Themen funktioniert. Der Nachteil des Filters ist, dass Ihre HTML-Quelle leere <span></span> -Tags enthält, die jedoch auf der eigentlichen Seite nicht sichtbar sind.

Sie können den folgenden Code in Ihre functions.php einfügen.

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

PS: Sie können den Filter verwenden, um den Link zum Bearbeiten von Beiträgen auch für ausgewählte Beiträge zu deaktivieren.

12

Die Antwort von Hameedullah ist eleganter, beseitigt jedoch nicht das Vorher und Nachher. Dazu müssen Sie stattdessen get_edit_post_link filtern und null zurückgeben.

function wpse_remove_get_edit_post_link( $link ) {
    return null;
}
add_filter('get_edit_post_link', 'wpse_remove_get_edit_post_link');
1
Art Smith

Hier ist ein Einzeiler. add_filter('edit_post_link', '__return_false');
Bonus: Adminleiste verstecken add_filter('show_admin_bar', '__return_false');

0
Yasin Yaqoobi