PR

【WordPress】edit_post_link():個別記事ページから編集画面へのリンクを表示する。

スポンサーリンク
記事内に広告が含まれています。

ちわーす。
少し便利に、かっぱふぅ( @kappafoo )です。

今回はWordPressの個別記事ページから編集画面へワンクリックで移動するTipsを紹介します。


cc licensed ( BY SA ) flickr photo shared by Nic McPhee

個別記事ページを見てて、あっココが間違ってる と気づくことはありませんか?

Adminツールバー(上に黒い帯で表示されるツールバー)が表示されているときは「投稿の編集」をクリックすれば編集画面へ移動できます。

しかし、このAdminツールバーを表示させない設定にすると「ダッシュボード」経由で編集画面に移動しなければなりません。

この時にお役に立つのが「edit_post_link()」というテンプレートタグです。

これを使うと、どういうことができるかというと...

edit2

上↑ 下↓

edit1

上と下の違いがわかりますか?

...そうです、【この投稿を編集する】のリンクができてますね。

これを表示するためのテンプレートタグなんです。

ただし、①ユーザが管理ページにログイン済みで、②編集権限がある場合のみ編集用リンクが表示され、ログインしていない場合や、編集権限がない場合は表示されない、というもの。

つまり、ダッシュボードに入れる状態のときには表示されますが、一般の閲覧者には表示されないという便利なものなんですね。

使い方は...[php]edit_post_link( $link, $before, $after, $id)[/php]
パラメータ(すべてオプション)
 $link (文字列): 記事編集画面リンクのラベルテキスト。デフォルトは __(‘Edit This’)。
 $before (文字列): リンクの直前に出力するコードやテキスト。デフォルトは ”(空)。
 $after (文字列): リンクの直後に出力するコードやテキスト。デフォルトは ”(空)。
 $id(整数):投稿ID。デフォルトはなし。
になります。

具体的には...[php][/php]
という1文を入れると、画像のように【この投稿を編集する】のリンクができますね。

このサイトでは、
[php]
‘, ‘

‘); ?>
[/php]
として、右側に表示させるようにしています。

ちなみに蛇足ですが、ログインしてるかどうかは、[php][/php]で条件分岐できるようです。

あと、このedit_post_link()では、同じウィンドウで編集画面に移動してしまうので、何かと不自由です。

そこで、編集画面を新規ウィンドウで開くためには、function.phpに...
[php]
function blank_post_link($output) {
return str_replace(‘WEBPAPRIKAさんの「edit_post_linkにtarget指定して新規ウインドウで開く」のページを参考にしました。

edit_post_linkにtarget指定して新規ウインドウで開く | WEBPAPRIKA

以上、WordPressのTipsでした。

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