web-dev-qa-db-ja.com

Edit_post_linkのすべてのインスタンスを削除する方法

私のすべてのページで、作成者モードでedit_post_link(リンクの編集)をしている間に、誰かが私のテーマから削除する方法を手伝ってください。この編集リンクを表示しないようにするには、Twenty Elevenテーマ(WordPress v3.2)のどのphpファイルをコメントアウトする必要がありますか?

私はあなたが作者モードの間にだけこれを見るが、完全に除去する方法を知りたいと思うことに気づく。

ありがとう。

7
tonyf

それは edit_post_link() 関数です。あなたはコメントアウトする必要があることをあなたは次のような行を見つけるでしょう:

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

1つの方法は、あなたがあなたがTwenty Elevenを使っているあなたの質問で述べたように、あなたのテーマのテンプレートファイルを編集することであるので、あなたは @kaiser のアドバイスに従うことができます。

テンプレートファイルを修正する代わりに私が好むもう1つの方法は、フィルタを使用することです。フィルタの利点は、他のテーマでも機能することです。 filterのデメリットは、実際のページには表示されませんが、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。選択した投稿の投稿編集リンクも無効にすることができます。

12

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');
1
Art Smith

これがワンライナーです。 add_filter('edit_post_link', '__return_false');
ボーナス:管理バーを隠すadd_filter('show_admin_bar', '__return_false');

0
Yasin Yaqoobi