The post_submitbox_start WordPress PHP action fires at the beginning of the publishing actions section of the Publish meta box.
Usage
add_action('post_submitbox_start', 'your_custom_function', 10, 1);
function your_custom_function($post) {
// your custom code here
}
Parameters
$post(WP_Post|null) – WP_Post object for the current post on the Edit Post screen, null on the Edit Link screen.
More information
See WordPress Developer Resources: post_submitbox_start
Examples
Add a custom message at the start of the Publish meta box
This example adds a custom message at the start of the Publish meta box.
add_action('post_submitbox_start', 'add_custom_message', 10, 1);
function add_custom_message($post) {
echo '<p><strong>Reminder:</strong> Please proofread your post before publishing.</p>';
}
Display current post’s word count
This example displays the current post’s word count in the Publish meta box.
add_action('post_submitbox_start', 'display_word_count', 10, 1);
function display_word_count($post) {
$content = $post->post_content;
$word_count = str_word_count(strip_tags($content));
echo '<p>Word count: ' . $word_count . '</p>';
}
Show the number of attached images
This example shows the number of attached images in the Publish meta box.
add_action('post_submitbox_start', 'show_attached_images_count', 10, 1);
function show_attached_images_count($post) {
$attachments = get_attached_media('image', $post->ID);
$count = count($attachments);
echo '<p>Attached images: ' . $count . '</p>';
}
Display a warning for posts in a specific category
This example displays a warning for posts in a specific category (e.g. “Announcements”).
add_action('post_submitbox_start', 'display_category_warning', 10, 1);
function display_category_warning($post) {
if (has_category('announcements', $post)) {
echo '<p><strong>Warning:</strong> This post is in the "Announcements" category. Double-check before publishing.</p>';
}
}
Show a custom message depending on post status
This example shows a custom message depending on the current post status.
add_action('post_submitbox_start', 'display_post_status_message', 10, 1);
function display_post_status_message($post) {
$status = $post->post_status;
if ($status === 'draft') {
echo '<p><strong>Note:</strong> This post is currently a draft.</p>';
} elseif ($status === 'pending') {
echo '<p><strong>Note:</strong> This post is pending review.</p>';
} elseif ($status === 'publish') {
echo '<p><strong>Note:</strong> This post is already published.</p>';
}
}