vimeo Code einbetten?

Ich habe eine benutzerdefinierte Meta-Box mit einem Textfeld, wo Benutzer in vimeo Embed Code fallen lassen können.

Sollte ich diesen Code vor der Aktualisierung von “update_post_meta” bereinigen, und wenn ja, wie soll ich vorgehen? Ich möchte wichtige Informationen (wie den Iframe) nicht aussortieren … Ich möchte nur sicherstellen, dass nichts Bösartiges eingegeben wird.

Solutions Collecting From Web of "vimeo Code einbetten?"

Sie müssen einen benutzerdefinierten Bestätigungs / Bereinigungs-Callback hinzufügen und ihn in publish_post (und / oder draft_post und / oder future_post , future_post zutreffend) future_post . Beispielsweise:

 < ?php function wpse_44807_update_custom_post_meta() { // Globalize the $post object global $post; // If our custom post meta key is set, sanitize it; // otherwise, return false $my_post_custom = ( isset( $_POST['_my_post_custom'] ? wp_filter_nohtml_kses( $_POST['_my_post_custom'] ? false ); // Now, delete or update our custom post meta key if ( false == $my_post_custom ) { delete_post_meta( $post->ID, '_my_post_custom' ); } else { update_post_meta( $post->ID, '_my_post_custom', $my_post_custom ); } } add_action( 'publish_post', 'wpse_44807_update_custom_post_meta' ); add_action( 'draft_post', 'wpse_44807_update_custom_post_meta' ); ?> 

Beachten Sie, dass ich den Filter wp_filter_nohtml_kses() wäre beispielsweise dann sinnvoll, wenn Sie beispielsweise eine Video-ID oder eine ähnlich alphanumerische wp_filter_nohtml_kses() erwarten. Ihre Wahl der Bereinigung wird sich je nach Art der erwarteten Eingabe ändern.

Außerdem: Ich verwende einen benutzerdefinierten Meta-Schlüssel mit Unterstrich als Präfix, der geeignet ist, wenn Sie ein benutzerdefiniertes Post-Meta-Feld für Ihren benutzerdefinierten Post-Metaschlüssel definieren. (Der Unterstrich-Präfix blendet diesen Metaschlüssel aus dem allgemeinen Dropdown-Feld “Benutzerdefiniertes Feld” aus.)

update_post_meta() wird es für die databaseeinfügung für Sie update_post_meta() . Worauf Sie wirklich achten müssen, ist bösartiger HTML-Code und damit die Ausgabe. Dazu benötigen Sie eine Regex oder ein anderes Mittel zum Vergleich mit einem bekannten / gewünschten Format. Um das zu handhaben, würde ich empfehlen, nur die Video-ID oder etwas von dieser Art zu akzeptieren, wo Sie streng kontrollieren können, wie die Ausgabe gemacht wird, anstatt dem Benutzer zu erlauben, Sie mit dem iframe und so zu versorgen.