Codexからのwp_dieに関する情報:WordPressの実行を終了し、エラーメッセージ付きのHTMLメッセージを表示します。この関数を呼び出すと、die()PHP関数が補完されます。違いは、HTMLがユーザーに表示されることです。実行をこれ以上続行しない場合にのみ、この機能を使用することをお奨めします。
私はコードがあります:
function myHook( $post_ID, $post )
{
wp_die('Error', 'Error', array( 'response' => 500, 'back_link' => true ));
}
add_action( 'save_post', 'myHook', 0, 2 );
問題はエラーページが表示されますが、投稿がまだ挿入されていることです。このフックによって保存が中断されるべきではありませんか?説明を誤解した場合、投稿が保存されないように実行を中断するにはどうすればよいですか。
編集:私はちょうどsave_postが前にではなくデータベースへの挿入後に呼び出されることを発見しました。私がフックすることができます挿入前に呼び出された任意の関数はありますか?
前もって感謝します
代わりにwp_insert_post_data
でフィルタリングしてみてください。 2864行目のwp-includes/post.php
からです。
add_filter( 'wp_insert_post_data', 'post_publish_filter_wpse_82356' );
function post_publish_filter_wpse_82356( $data ) {
// view/manipulate $data
if ('publish' == $data['post_status']) {
$msg = '<pre>' . var_export($data, true) . '</pre>';
wp_die($msg);
}
return $data;
}
publish
は、発行または更新ボタンをクリックしたときのpost_status
です。私が見つけた4つのステータスは以下のとおりです。