Skip to content

Instantly share code, notes, and snippets.

@Irfan-Ansari
Forked from swalkinshaw/gist:2695510
Last active August 29, 2015 14:24
Show Gist options
  • Save Irfan-Ansari/5bf694ed4d80f847440d to your computer and use it in GitHub Desktop.
Save Irfan-Ansari/5bf694ed4d80f847440d to your computer and use it in GitHub Desktop.
<?
function mandatory_excerpt($data) {
$excerpt = $data['post_excerpt'];
if (empty($excerpt)) {
if ($data['post_status'] === 'publish') {
add_filter('redirect_post_location', 'excerpt_error_message_redirect', '99');
}
$data['post_status'] = 'draft';
}
return $data;
}
add_filter('wp_insert_post_data', 'mandatory_excerpt');
function excerpt_error_message_redirect($location) {
remove_filter('redirect_post_location', __FILTER__, '99');
return add_query_arg('excerpt_required', 1, $location);
}
function excerpt_admin_notice() {
if (!isset($_GET['excerpt_required'])) return;
switch (absint($_GET['excerpt_required'])) {
case 1:
$message = 'Excerpt is required to publish a post.';
break;
default:
$message = 'Unexpected error';
}
echo '<div id="notice" class="error"><p>' . $message . '</p></div>';
}
add_action('admin_notices', 'excerpt_admin_notice');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment