2011-02-10 18 views
2

著者は自分のサイトの投稿を削除することができますが、その時点でホームページにリダイレクトする必要があります。それはもう存在しないとして、404を投げません原因のそれ自体投稿(ない非常にユーザーフレンドリー)ここで WordPressのホームページにリダイレクトされたリンクを削除する

コードです: <p id="delete"><a title="Delete your Favor?" href="<?php echo get_delete_post_link($post->ID); ?>">Delete your Favor?</a></p>

がどのように私はホームページにリダイレクトするために、それを修正することができますか?

答えて

4

Wordpress 3.0.4のソースコード(wp-admin/post.php、223行)によると、そのリンクを経由するとwp_trash_post関数が呼び出されます。

この機能は、trashed_postアクション(wp-includes/post.php行1838)をトリガーすることで終了します。

自分のハンドラをtrashed_postアクション(add_action)に接続し、wp_redirectを実行できます。

最も簡単な方法:テーマにはfunctions.phpファイルが必要です。

それにこれを追加します。

add_action('trashed_post','my_trashed_post_handler',10,1); 
function my_trashed_post_handler($post_id) 
{ 
    wp_redirect(get_option('siteurl')); 
    exit; 
} 
+0

こんにちはおかげで答えを。いくつかのコードを提供できますか?私はそれを見ることができるコードで苦労している。再度、感謝します。 @キャメロン。 – Cameron

+0

。私の答えを更新しました。あなたがそれをする必要がある理由を完全にはっきりしていません。少し戸惑っています。 – Ben

+0

リンクはフロントエンドで使用されているため、クリックされたときに、ポストバック時に同じページに戻ります削除されたため、ユーザーをホームページに送信する必要があります。しかし、私はリダイレクトが公開セクションでのみ発生し、管理セクションでは削除リンクではないことが必要です。 – Cameron