web-dev-qa-db-ja.com

ゴミ箱へのリンクを追加/取得するにはどうすればいいですか?

すべてのカスタム投稿タイプのすべての投稿を表示するためのプラグインを作成しています。これはedit.phpのようなものですが、単一の投稿タイプを表示するのではなく、複数のカスタム投稿タイプから1つのページにすべての投稿を表示したいと思います。

here のチュートリアルに従ってプラグインを作成し、それを実行しました。しかし今問題が1つあります、リストされたすべての投稿の下にゴミ箱リンクを追加したいです(ちょうどedit.phpのように)。このフィールドは実行するために一回だけが必要ですが、私はそれがどのように機能するのか理解できませんでした。

これが私のコードです:

function column_post_title($item){
$actions = array(
        'edit' => sprintf('<a href="'.admin_url('post.php?post=%s&action=edit').'">Edit</a>',$item['ID']),//this part is fine
        'trash'=> sprintf('<a href="'.wp_nonce_url(admin_url().'post.php?post=%s&action=trash', 'trash-%s').'">Trash</a>',$item['ID'],$item['ID']),//here I cant get it right!!
    );
return sprintf('%1$s %2$s', $item['post_title'], $this->row_actions($actions) );
}

独自のnonceを作成する必要がありますか?または存在するものがあればそれを使用します。上記のコードからそれは私にWordPressの失敗通知を私に与えます:

これを実行しますか?もう一度やり直してください。

3
dev-jim

get_delete_post_link( $post_ID )を使うだけです - 絶対URLをnonceとallで返します!

明確にするためににすると、これはtrashpostsへのリンクを取得します(ごみ箱をサポートしている場合)。あなたがゴミをスキップしてperma-deleteリンクを取得したい場合trueの2番目の引数を渡します*。

http://codex.wordpress.org/Function_Reference/get_delete_post_link

更新:ソースを確認しましたが、コーデックスは少し古くなっているようです。 2番目の引数は推奨されていないので、空の文字列&the third argをtrueとして渡します。

get_delete_post_link( $post_ID, '', true );
5
TheDeadMedic