Warum behält wp_ks die Stilattribute nicht wie erwartet?

Ich möchte das Style-Attribut beibehalten. $ str ist nur ein Beispiel, hier ist mein Code:

$allowed_html = array( 'div' => array( 'title' => array(), 'class' => array(), 'style' => array() ) ); $str = '
This is a button
'; wp_kses($str, $allowed_html );

$ str erhält tatsächlich eine Menge HTML-Tags und Attribute von einem Beitrag. Von da an möchte ich alle Tags und Attribute entfernen, wobei nur divs-Tags und Stil- und Titelattribute weggelassen werden

Danke, MMK.

Solutions Collecting From Web of "Warum behält wp_ks die Stilattribute nicht wie erwartet?"

Dies ist eine ältere Frage, aber hier ist die Antwort für zukünftige Generationen:

WordPress wird die Stile gegen eine Whitelist prüfen und es wird immer noch das style entfernen, wenn keiner der Stile sicher ist. Die Standard-Whitelist ist:

  • text-align
  • margin
  • color
  • float
  • border
  • background
  • background-color
  • border-bottom
  • border-bottom-color
  • border-bottom-style
  • border-bottom-width
  • border-collapse
  • border-color
  • border-left
  • border-left-color
  • border-left-style
  • border-left-width
  • border-right
  • border-right-color
  • border-right-style
  • border-right-width
  • border-spacing
  • border-style
  • border-top
  • border-top-color
  • border-top-style
  • border-top-width
  • border-width
  • caption-side
  • clear
  • cursor
  • direction
  • font
  • font-family
  • font-size
  • font-style
  • font-variant
  • font-weight
  • height
  • letter-spacing
  • line-height
  • margin-bottom
  • margin-left
  • margin-right
  • margin-top
  • overflow
  • padding
  • padding-bottom
  • padding-left
  • padding-right
  • padding-top
  • text-decoration
  • text-indent
  • vertical-align
  • width

Diese Liste ist, wie bei den meisten Dingen in WordPress, gefiltert! Sie können die display wie folgt hinzufügen, damit der Code wie erwartet funktioniert:

 add_filter( 'safe_style_css', function( $styles ) { $styles[] = 'display'; return $styles; } );