質問: 今後の日付付き投稿を公開済みとしてマークする 使用事例:ミュージックショーに関連する投稿タイプがあります。 「上映時間」は、将来のある時間に設定されている公開後の日付から取得されます。将来の日付付きブログ投稿を受け取り、日付を残すが、その投稿を保存時に公開済みとしてマークする関数を見つけましたが、カスタム投稿タイプ用にカスタマイズする方法を考え出すことができませんでした。機能は以下の通りです。<?php function setup_future_hook() { // replace native future_post function with replacement remove_action('future_post','show', '_future_post_hook'); add_action('future_post', 'show', 'publish_future_post_now'); } function publish_future_post_now($id) { // set new post's post_status to "publish" rather than "future." wp_publish_post($id); } add_action('init', 'setup_future_hook'); ?>
回答: このアクションは wp_transition_post_status によって呼び出されると思います。コードは次のとおりです。function wp_transition_post_status($new_status, $old_status, $post) { do_action('transition_post_status', $new_status, $old_status, $post); do_action("${old_status}_to_$new_status", $post); do_action("${new_status}_$post->post_type", $post->id, $post); } したがって、通常の将来の投稿では最後のフックはfuture_postになりますが、あなたの型ではfuture_showまたはあなたの型スラッグであれば何でも構いません。