edit_post_link() の使い方|説明・引数・注意点

説明

edit_post_link() は、投稿の編集画面へのリンクを出力する関数です。編集の権限があるユーザーにだけ、表示されます。

基本構文

edit_post_link( string $text = null, string $before = '', string $after = '', int|WP_Post $post = 0, string $css_class = 'post-edit-link' );

引数

  • $text:リンクの文字列(省略すると、既定の文言。日本語環境では「編集」など)
  • $before:リンクの前に出力するHTML
  • $after:リンクの後に出力するHTML
  • $post:投稿のIDまたはオブジェクト(省略すると現在の投稿)
  • $css_class:リンクに付けるCSSクラス

戻り値

戻り値はありません。リンクのHTMLを、その場に出力します。

使い方(サンプル)

edit_post_link( '編集', '<p class="edit">', '</p>' );

注意点

  • 編集の権限がないユーザーには、何も出力されません。
  • ループの中で使うのが基本です。

実務での使いどころ

  • ログイン中の管理者や編集者に、記事から編集画面へ、すぐ移動できるリンクを出すとき。
  • テーマのデザインに合わせて、リンクの文言やクラスを変えるとき。

よくあるミスと対処

  • リンクの前後に、自分でHTMLを書いている。権限のないユーザーには、リンクだけでなく、前後の $before・$after も出力されない。前後のHTMLは、引数で渡す。
  • 値として使いたいのに、これを使っている。この関数は出力するだけ。URLは get_edit_post_link() で取得する。
  • ループの外で、投稿を指定せずに呼んでいる。

NG例

echo '<p class="edit">';
edit_post_link();
echo '</p>'; // 権限がないユーザーにも、空の段落が残る

OK例

edit_post_link( '編集', '<p class="edit">', '</p>' );

使い分け早見表

関数 返す・出力するもの
edit_post_link() 編集リンクのHTMLを出力する
get_edit_post_link() 編集画面のURLを返す(権限がなければ null)
admin_url() 管理画面のURL

関連項目

get_edit_post_link()、admin_url()

公式リファレンス:edit_post_link() | WordPress Developer Resources

コメント

タイトルとURLをコピーしました