正如brianjohnhanna指出的那样,没有钩子可以更改标题字段的HTML,因此最接近的答案是进行jQuery验证。
下面是我最后要做的,创建一个插件:
function wpse_242302_mandatory_title( $hook ) {
global $post;
if ( $hook == \'post-new.php\' || $hook == \'post.php\' ) {
wp_enqueue_script( \'mandatory-title\', plugins_url( \'mandatory-title.js\', __FILE__ ), array( \'jquery\' ) );
}
}
add_action( \'admin_enqueue_scripts\', \'wpse_242302_mandatory_title\', 20, 1 );
以及javascript:
$(document).ready(function() {
$(\'#post\').submit(function(){
if( !$(\'input[name=post_title]\').val() ) {
$( \'.wrap > h1\').after(\'<div id="message" class="error"><p>Please enter a title.</p></div>\' );
return false;
}
});
});
它没有添加“required”属性,而是显示一条默认的Wordpress错误消息,我认为这与admin集成得更好。