Iframes von bestimmten Websites zulassen?

Mit Kses-Filterung erlaubt WordPress nur eine Teilmenge von HTML-Tags innerhalb eines Posts oder einer Seite, und eines der Tags, die es entfernt, ist das -Tag (aus vielen guten Gründen).

Ich möchte es Redakteuren erlauben, Iframes einzubinden, deren Quellcode aus einer unserer anderen Subdomains stammt, oder aus einer bestimmten Whitelist von Domains, aber immer noch andere unbekannte Quellcodes ausblendet. Es ist einfach, kses zu umgehen, um alle zu erlauben, aber ist es möglich, nur bestimmte Domains zu erlauben?

Solutions Collecting From Web of "Iframes von bestimmten Websites zulassen?"

Ich würde einen wp_embed_register_handler Handler mit wp_embed_register_handler . Dies bietet Ihnen den zusätzlichen Vorteil, dass Sie die URL einfach in den Editor kopieren und einfügen können, sowie eine Vorschau des iFrames sehen können.

 add_action( 'init', 'se238330_register_embed_handler' ); function se238330_register_embed_handler() { wp_embed_register_handler( 'joetek', '#http://subdomain.yourdomain\.com/(.+)/?#i', 'wp_embed_handler_joetek' ); } function wp_embed_handler_embed_name( $matches, $attr, $url, $rawattr ) { $embed = sprintf( '', esc_attr( $matches[1] ) ); return apply_filters( 'embed_joetek', $embed, $matches, $attr, $url, $rawattr ); } 

Der obige Code geht davon aus, dass Joetek der Name Ihrer Einbettung ist 🙂 Sie müssten die Regex im zweiten Parameter von wp_embed_register_handler sowie in der Callback-function aktualisieren, um die Seiten zu finden, die Sie auf Ihrer Website einbetten möchten.