投稿が作成または更新されたときに、すべての投稿のリスト/テーブルページに戻るフックを使用できますか。投稿タイプをターゲットにすることも可能であれば、それは割れているでしょう。
それは私が知っているし、それについて投げかけたことを主張してきた本当に愚かな要求ですが、ユーザーフレンドリーではないにしてもそれが達成可能であることを確かめたかったのです。
スティーブ
redirect_post_location
フィルターと admin_url()
関数を使用してください。
add_filter( 'redirect_post_location', 'wpse_124132_redirect_post_location' );
/**
* Redirect to the edit.php on post save or publish.
*/
function wpse_124132_redirect_post_location( $location ) {
if ( isset( $_POST['save'] ) || isset( $_POST['publish'] ) )
return admin_url( "edit.php" );
return $location;
}
別のURLにリダイレクトするには、URLの/wp-admin/
部分の後にすべてを追加します。意図したURLが"edit.php"
であるため、私はhttp://example.com/wordpress/wp-admin/edit.php
を使用しました。
redirect_post_location
フィルタは コーデックスフィルタリファレンス には記載されていません。これは73行目の\wp-admin\post.php
ファイルにあります。これはトランクバージョンのWordPressのWordPressコードです。
wp_redirect( apply_filters( 'redirect_post_location', $location, $post_id ) );
ご覧のとおり、$post_id
またはそこから取得した情報に基づいて$post_id
リダイレクトをテストすることもできます。フィルタのこの2番目のパラメータを使用するには、priorityおよび_accepted_args_パラメータを フィルタ呼び出し に渡す必要があります。
add_filter( 'redirect_post_location', 'wpse_124132_redirect_post_location', 10, 2 );
そして関数パラメータを更新します。
/**
* Redirect to the edit.php on post save or publish.
*/
function wpse_124132_redirect_post_location( $location, $post_id ) {
if ( isset( $_POST['save'] ) || isset( $_POST['publish'] ) ) {
// Maybe test $post_id to find some criteria.
return admin_url( "edit.php" );
}
return $location;
}