[WordPress]投稿した記事ページに削除リンクをつける方法
こんばんは、ゾノ( @ozonosho )です。
さて、今日のブログではWordPressで投稿した記事ページに削除リンクをつける方法を紹介したいと思います。
WordPressでは投稿した記事の編集・削除は管理画面上でしかできません。
会員制のサイトなどではユーザーに管理画面を表示するのが好ましくない場合も多いため、フロント(サイト上)で投稿した記事を削除したい場合には今回紹介する方法を実装してみてください。
WordPressで投稿した記事ページに削除リンクをつける方法
実装は簡単で、single.php内の削除リンクをつけたい箇所に下記のコードを記述してください。
<?php the_post(); ?> <?php if(is_user_logged_in()) { ?> <?php if((get_current_user_id() == $post->post_author) || current_user_can('administrator')) { ?> <a class="delete-btn" onclick="return confirm('この投稿を削除して宜しいですか?')" href="<?php echo get_delete_post_link($post->ID, '', true); ?>">削除する</a> <?php } ?> <?php } ?>
削除リンクをつけたい箇所よりも上部でthe_post()がすでに記述されている場合には1行目の内容は記載しなくて大丈夫です。
誰でも記事を削除できてしまうと宜しくないので、ここでは「自分が投稿者である記事の場合」または「自分が管理者権限の場合」のみ削除リンクを表示するようにしています。
current_user_canを使うとログインユーザーの権限を判定できるので、編集者権限のユーザーでも自由に記事を削除できるようにしたい場合は条件を追加してください。
コードを保存して無事に削除リンクがついたら、実際にクリックしてみてください。確認メッセージ表示後にきちんと記事が削除されれば成功です。
おわりに
以上、今回の記事ではWordPressで投稿した記事ページに削除リンクをつける方法を紹介させていただきました。
この部分のカスタマイズ情報はあまり出回っていないため、すこしでも参考になれば幸いです。
当サイトではWordPressのカスタマイズ依頼を請け負っています。実現したい機能・要望がある方はぜひ下記ページよりご相談ください。