• かちびと.net

    WordPressで、現在閲覧中の記事をその場で削除できるボタンを作る・改を書きました。以前の記事が役に立たなくなっていたようです。

    Kudos for

    WordPress jQuery
  • About This

    Web制作に役立つTips、チュートリアル、、マーケティングに役立つ情報などのリソースをほぼ毎日配信しています。宜しければメモ代わりにご利用下さい。詳しい情報はAbout me またはhumans.txtをご覧下さい。

    Kachibito.net is a community-based website for web designers and developers. The site includes a popular weblog, a design gallery, a open source software, design tips, and the various web-news.

  • Links

WordPressで、現在閲覧中の記事をその場で削除できるボタンを作る・改

スポンサーリンク

以前書いた記事がWordPress3.4で
動作しないとのコメントを頂いた
ので改正版を書きます。あまり
需要は無さそうな気がしていまし
たが、意外とあるものなんですね。

以前書いた記事は以下になります。

お手軽WordPress Tips:閲覧している記事をその場で削除するボタンを設置する

これが最新版のWordPressでは動かないみたいですので新しく書き直します。

フロントエンド側に削除用のURLを作る

とりあえず削除用のURLを用意します。get_delete_post_linkでフロントエンド側に削除リンクを呼び出します。

<?php echo get_delete_post_link( $post->ID ) ?>

これで以下のようなURLを呼び出す事が出来ます。

http://example.com/wp-admin/post.php?post=1&action=trash&_wpnonce=うんたらかんたら

これをa要素に含めればいいですね。

<a href="<?php echo get_delete_post_link( $post->ID ) ?>">

ログインユーザーにだけ見せたい

ログインユーザーにだけ見せる為に条件分岐しときます。

<?php if(current_user_can('read_private_pages')) : ?>
ログインしないと見れないよー。僕は実はハゲなんです(嘘です
<?php endif; ?>

current_user_canでユーザーの権限をチェックし、パラメーターとして権限を指定します。サンプルコードのread_private_pagesは管理者、編集者、投稿者までが権限者となります。この権限は以下に一覧表があるので必要に応じて変更して下さい。

Roles and Capabilities – WordPress Codex

削除するかどうか確認したい

基本的にget_delete_post_linkは即削除するみたいですが、誤クリックが怖いので確認するダイアログも欲しい、という方もいるかもしれません。調べたけどWordPress側でやる方法は分からなかったのでJavaScriptでダイアログを出す方法を書いておきます。

<?php if(current_user_can('read_private_pages')) : ?>
<a onclick="return confirm('削除します。宜しいですか?')" href="<?php echo get_delete_post_link( $post->ID ) ?>">記事を削除する</a>
<?php endif; ?>

confirm関数で確認ダイアログを出します。

動作テスト

以下実行テストのキャプチャです。

フロントエンド側で確認ダイアログの出る記事削除ボタンが作成出来ました。

以上です。尚、WordPressの情報を探すときはその記事やフォーラム投稿の日付を確認して頂くと時間のロスを防げるかと思います。

URL :
TRB :

Comments & Trackbacks (2)

Twitter

Web制作に役立つそうなリソースを独断と好みで配信しています。

かちびと.netにリンクの無いトラックバックはお受けいていません。
コメントされる前にガイドラインをご覧下さい。

twitter facebook rss contact

Ads

Posts

Contact

Services