在WordPress的,你如何篩選一個textarea保存在主題管理中的Vimeo嵌入代碼?使用sanitize_text_field將使代碼在通過update_post_meta保存到db時不可用。WordPress的 - 過濾器視頻嵌入代碼
$postmeta = sanitize_text_field($_POST['embed_video']);
update_post_meta($post_id, 'embed_video',$postmeta);
在WordPress的,你如何篩選一個textarea保存在主題管理中的Vimeo嵌入代碼?使用sanitize_text_field將使代碼在通過update_post_meta保存到db時不可用。WordPress的 - 過濾器視頻嵌入代碼
$postmeta = sanitize_text_field($_POST['embed_video']);
update_post_meta($post_id, 'embed_video',$postmeta);
我經常接近從另一個角度WordPress的視頻嵌入,創建模板嵌入代碼,例如,而不是讓別人通過以下方式嵌入視頻:
<iframe src="http://player.vimeo.com/video/69277800?title=0&byline=0&portrait=0&badge=0" width="577" height="325" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
我有他們剛插入的ID,在這種情況下69277800.然後,我把我的模板
<?php if(!empty($video_id)):?>
<iframe src="http://player.vimeo.com/video/<?php echo $video_id;?>?title=0&byline=0&portrait=0&badge=0" width="577" height="325" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<?php endif;?>
我建議你保存視頻的URL在文本輸入(繼續使用sanitize_text_field()
)的然後使用WordPress的wp_get_oembed()
函數輸出嵌入代碼。這將適用於各種允許的提供商,如Youtube和Vimeo。只要您使用允許的提供程序,此方法就更安全,我相信您可能會在白名單中添加提供程序,因此您很可能無法使用某個人。
$input = get_post_meta($post->ID, '_my_meta_input', true);
echo wp_oembed_get($input);
此外,還可以列入白名單iframe
和消毒如圖我的回答here使用wp_kses()
textarea的。
不知道它是否適合您的應用程序,但有一個名爲'[iframe]'的好插件允許在WYSIWYG頁面/帖子編輯器中嵌入視頻代碼:http://wordpress.org/plugins/iframe/ –