Der WP-Editor entfernt das eingegebene Platzhalterattribut

Warum entfernt WP Editor auch das “Platzhalter” -Attribut des Eingabetextelements? Natürlich benutze ich den HTML-Modus. Hier ist die Eingabe:

 

Nach dem Aktualisieren des Posts (nach dem Strip):

  

Ich möchte nicht, dass WP Editor solche Attribute entfernt.

Irgendeine Hilfe ?

Solutions Collecting From Web of "Der WP-Editor entfernt das eingegebene Platzhalterattribut"

Die Liste der erlaubten Elemente und Attribute wird in der globalen Variable $allowedposttags gespeichert, die in wp-includes/kses.php .

Um es zu überschreiben, erstellen Sie ein einfaches mu-Plugin mit folgendem Inhalt:

 < ?php # -*- coding: utf-8 -*- /** * Plugin Name: Enable placeholder attribute for input elements in post tags. * Version: 2012.07.18 */ add_action( 'init', 'wpse_54829_register_placeholder' ); function wpse_54829_register_placeholder() { global $allowedposttags; $default = empty ( $allowedposttags['input'] ) ? array () : $allowedposttags['input']; $custom = array ( 'placeholder' => TRUE, 'name' => TRUE, 'value' => TRUE, 'size' => TRUE, 'maxlength' => TRUE, 'type' => TRUE, 'required' => TRUE ); $allowedposttags['input'] = array_merge( $default, $custom ); } 

Dieser Beitrag mit dem Inhalt wurde mit einem Autorenaccount erstellt:

Bildbeschreibung hier eingeben

Du könntest einen Shortcode verwenden! 😉

 < ?php // desired output:  // sc: [text_input name="s" style="width: 550px;" placeholder="Search this website.."] add_shortcode('text_input','text_input_sc'); function text_input_sc($atts) { // modify defaults as you wish $defaults = array( 'id' => null, 'class' => null, 'value' => null, 'name' => null, 'size' => null, 'style' => null, 'placeholder' => null ); $args = shortcode_atts($defaults, $atts); $out = array(); foreach ($args as $attr => $value) { if ( null !== $value ) $out[] = $attr.'="'.$value.'"'; } $out = trim(implode(' ', $out)); if( !empty($out) ) $out = ' '.$out; return vsprintf('', $out); } 

Ungetestet, sollte aber definitiv funktionieren!