Machen Sie post_content und andere benutzerdefinierte Felder erforderlich

Was ist der beste Weg, um das required Attribut für HTML-Formulare in WordPress zu setzen, zum Beispiel möchte ich Post-Content benötigt, so dass dieser Code geändert werden muss:

  

So zu erscheinen:

  

Wie kann es durch einen Filter oder einen Aktionshaken gemacht werden? Dieselbe Lösung werde ich auch für andere Felder im Post-Formular verwenden.

Was ich möchte, ist das HTML5 required Attribut für bestimmte Felder hinzuzufügen, sobald die Seite gerendert wurde.

https://www.w3schools.com/tags/att_input_required.asp https://www.w3schools.com/tags/att_textarea_required.asp

Solutions Collecting From Web of "Machen Sie post_content und andere benutzerdefinierte Felder erforderlich"

Verlassen Sie sich nicht ausschließlich auf JavaScript-validationen. Verwenden Sie den unteren Haken für die serverseitige validation.

 function check_if_post_content_set( $maybe_empty, $postarr ) { // Check if post is already created. IMPORTANT if($postarr['ID'] && (int)$postarr['ID'] > 0){ if( !$postarr['post_content'] OR $postarr['post_content'] == '' OR $postarr['post_content'] == NULL ){ $maybe_empty = true; } } return $maybe_empty; } add_filter( 'wp_insert_post_empty_content', 'check_if_post_content_set', 999999, 2 ); 

Endlich habe ich es wie folgt getriggers:

 add_action( 'admin_enqueue_scripts', array($this, 'my_admin_scripts') ); function my_admin_scripts($page) { global $post; if ($page == "post-new.php" OR $page == "post.php") { wp_register_script( 'my-custom-admin-scripts', plugins_url('/js/my-admin-post.js',dirname(__FILE__)), array('jquery', 'jquery-ui-sortable' ) , null, true ); wp_enqueue_script( 'my-custom-admin-scripts' ); } } 

Und setzen Sie das erforderliche Attribut von JQuery in den nächsten js-Code (/js/my-admin-post.js):

 // JavaScript Document jQuery(document).ready(function($) { $('#title').attr('required', true); $('#content').attr('required', true); $('#_my_custom_field').attr('required', true); });