国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > CMS > Wordpress > 正文

wordpress中用 iframe 方式插入優(yōu)酷視頻 兼容移動(dòng)設(shè)備

2024-09-07 00:51:42
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文我們來(lái)講講在wordpress中快速插入優(yōu)酷視頻mbed方式改為 iframe,這個(gè)方式的好處是可以兼容移動(dòng)設(shè)備瀏覽,一舉兩得。

現(xiàn)在的 WordPress 中文版內(nèi)置了“使用 WordPress 的 Embed 功能快速插入優(yōu)酷視頻”的功能:只要在寫(xiě)文章時(shí),獨(dú)占一行粘貼優(yōu)酷視頻地址就可以自動(dòng)調(diào)用次視頻。

例如:我在下一行獨(dú)占一行插入 http://v.youku.com/v_show/id_XNTgxNzI3MDcy.html 這個(gè)優(yōu)酷視頻地址,就可以自動(dòng)調(diào)用優(yōu)酷視頻了。

但是這是用 Embed 的,PC端沒(méi)問(wèn)題,手機(jī)瀏覽器因?yàn)椴恢С?Flash 所以是無(wú)法顯示和播放視頻的,而現(xiàn)在提供的 iframe 方式插入的視頻就支持手機(jī).

下面說(shuō)說(shuō)如何實(shí)現(xiàn):

使用 WordPress 的 Embed 功能快速插入優(yōu)酷視頻,改為以 iframe 方式調(diào)用的方法,有點(diǎn)繞口.

1. 確定所用 WordPress 是中文版(好像其他語(yǔ)言版本也行,如果有錯(cuò)誤提示就把 wp_embed_unregister_handler( 'youku' ); 刪除即可)

2. 就是把下面的代碼扔進(jìn)所用主題的 functions.php 里面,注意:代碼要放在 <?php ?> 里面.

  1. /** 
  2.  * 『使用 WordPress 的 Embed 功能快速插入優(yōu)酷視頻』改為以 iframe 方式調(diào)用 
  3.  *  by zwwooooo | zww.me 
  4.  */ 
  5. // 移除原來(lái) WordPress 中文版內(nèi)置的“使用 WordPress 的 Embed 功能快速插入優(yōu)酷視頻” 
  6. wp_embed_unregister_handler( 'youku' ); 
  7. // 改用 iframe 方式 
  8. function wp_iframe_handler_youku( $matches$attr$url$rawattr ) { 
  9.     // If the user supplied a fixed width AND height, use it 
  10.     if ( !emptyempty($rawattr['width']) && !emptyempty($rawattr['height']) ) { 
  11.         $width  = (int) $rawattr['width']; 
  12.         $height = (int) $rawattr['height']; 
  13.     } else { 
  14.         list( $width$height ) = wp_expand_dimensions( 480, 400, $attr['width'], $attr['height'] ); //Vevb.com 
  15.     } 
  16.     $iframe = '<iframe width='. esc_attr($width) .' height='. esc_attr($height) .' src="http://player.youku.com/embed/'. esc_attr($matches[1]) .'" frameborder=0 allowfullscreen></iframe>'
  17.     return apply_filters( 'iframe_youku'$iframe$matches$attr$url$ramattr ); 
  18. wp_embed_register_handler( 'youku_iframe''#http://v.youku.com/v_show/id_(.*?).html#i''wp_iframe_handler_youku' ); 

PS:其他視頻網(wǎng)站可以照葫蘆畫(huà)瓢改下代碼就行了。

PC端embed方式移動(dòng)端iframe方式快速插入優(yōu)酷視頻兩個(gè)方法

我共享一下幫一個(gè)朋友做主題時(shí)寫(xiě)的這功能的代碼吧,我用以前收藏的移動(dòng)端判斷函數(shù)來(lái)實(shí)現(xiàn)根據(jù)使用環(huán)境決定使用 embed 還是 iframe。

懶得具體說(shuō)明了,直接上代碼吧,里面有注釋:另外這次的代碼我特意修改做了兼容,支持任何語(yǔ)言的 WordPress

代碼實(shí)現(xiàn) PC 端 embed 方式移動(dòng)端 iframe 方式快速插入優(yōu)酷視頻功能

1.在 functions.php 插入以下代碼(有些代碼[如判斷是否mobile]收錄自搜索,源自哪里已無(wú)從考證——好吧,我忘了,如果你是原創(chuàng)作者請(qǐng)聯(lián)系我)

注:凡是加入主題的 functions.php 里面的代碼都要放在 <php ?> 里面.

  1. //判斷是否移動(dòng)設(shè)備 Modify by zwwooooo | zww.me 
  2. function zfunc_is_mobile() { 
  3.     $user_agent = $_SERVER['HTTP_USER_AGENT']; 
  4.     $mobile_agents = Array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi","android","anywhereyougo.com","applewebkit/525","applewebkit/532","asus","audio","au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu","cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ","fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi","htc","huawei","hutchison","inno","ipad","ipaq","ipod","jbrowser","kddi","kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo","mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-","moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia","nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-","playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo","samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank","sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit","tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin","vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce","wireless","xda","xde","zte"); 
  5.     $is_mobile = false; 
  6.     foreach ($mobile_agents as $device) { 
  7.         if (stristr($user_agent$device)) { 
  8.             $is_mobile = true; 
  9.             break
  10.         } 
  11.     } 
  12.     return $is_mobile
  13.  
  14. //// 如果 WordPress 不是中文版,增加優(yōu)酷視頻自動(dòng)插入 Modify by zwwooooo | zww.me 
  15. if (get_bloginfo('language') != 'zh-CN') { 
  16.     function wp_embed_handler_youku( $matches$attr$url$rawattr ) { 
  17.         // If the user supplied a fixed width AND height, use it 
  18.         if ( !emptyempty($rawattr['width']) && !emptyempty($rawattr['height']) ) { 
  19.             $width  = (int) $rawattr['width']; 
  20.             $height = (int) $rawattr['height']; 
  21.         } else { 
  22.             list( $width$height ) = wp_expand_dimensions( 480, 400, $attr['width'], $attr['height'] ); 
  23.         } 
  24.       $embed = sprintf( 
  25.         '<embed src="http://player.youku.com/player.php/sid/%1$s/v.swf" allowFullScreen="true" quality="high" width="'. esc_attr($width) .'" height="'. esc_attr($height) .'" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>'
  26.         esc_attr( $matches['video_id'] ) ); 
  27.  
  28.       return apply_filters( 'embed_youku'$embed$matches$attr$url$rawattr ); 
  29.     } 
  30.     wp_embed_register_handler( 'youku',  
  31.       '#https?://v.youku.com/v_show/id_(?<video_id>[a-z0-9_=-]+)#i',  
  32.       'wp_embed_handler_youku' ); 
  33.  
  34. //// 對(duì)移動(dòng)端的視頻使用 iframe 方式插入 by zwwooooo | zww.me 
  35. if( zfunc_is_mobile() ){ 
  36.     //// 如果 WordPress 是中文版,移除原來(lái)的 youku 視頻代碼自動(dòng)插入 
  37.     if (get_bloginfo('language')==='zh-CN'
  38.         wp_embed_unregister_handler( 'youku' ); 
  39.  
  40.     //// 增加 iframe 方式的視頻調(diào)用 
  41.     function wp_iframe_handler_youku( $matches$attr$url$rawattr ) { 
  42.         // If the user supplied a fixed width AND height, use it 
  43.         if ( !emptyempty($rawattr['width']) && !emptyempty($rawattr['height']) ) { 
  44.             $width  = (int) $rawattr['width']; 
  45.             $height = (int) $rawattr['height']; 
  46.         } else { 
  47.             list( $width$height ) = wp_expand_dimensions( 480, 400, $attr['width'], $attr['height'] ); 
  48.         } 
  49.         $iframe = '<iframe width='. esc_attr($width) .' height='. esc_attr($height) .' src="http://player.youku.com/embed/'. esc_attr($matches[1]) .'" frameborder=0 allowfullscreen></iframe>'
  50.         return apply_filters( 'iframe_youku'$iframe$matches$attr$url$ramattr ); 
  51.     } 
  52.     wp_embed_register_handler( 'youku_iframe''#http://v.youku.com/v_show/id_(.*?).html#i''wp_iframe_handler_youku' ); 

2.用法:直接把優(yōu)酷視頻地址粘貼到文章內(nèi)容里面,注意要獨(dú)占一行

繼續(xù)玩手機(jī)去~最近刷機(jī)刷狂了~我喜歡上那些帶 HALO 的 ROM 了……

在評(píng)論中,大發(fā)提醒 WordPress 已經(jīng)內(nèi)置了移動(dòng)設(shè)備判斷函數(shù) wp_is_mobile(),這是 WordPress 3.4 增加的,我沒(méi)注意,所以代碼可以精簡(jiǎn)成:

  1. //// 如果 WordPress 不是中文版,增加優(yōu)酷視頻自動(dòng)插入 Modify by zwwooooo | zww.me 
  2. if (get_bloginfo('language') != 'zh-CN') { 
  3.     function wp_embed_handler_youku( $matches$attr$url$rawattr ) { 
  4.         // If the user supplied a fixed width AND height, use it 
  5.         if ( !emptyempty($rawattr['width']) && !emptyempty($rawattr['height']) ) { 
  6.             $width  = (int) $rawattr['width']; 
  7.             $height = (int) $rawattr['height']; 
  8.         } else { 
  9.             list( $width$height ) = wp_expand_dimensions( 480, 400, $attr['width'], $attr['height'] ); 
  10.         } 
  11.       $embed = sprintf( 
  12.         '<embed src="http://player.youku.com/player.php/sid/%1$s/v.swf" allowFullScreen="true" quality="high" width="'. esc_attr($width) .'" height="'. esc_attr($height) .'" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>'
  13.         esc_attr( $matches['video_id'] ) ); 
  14.  
  15.       return apply_filters( 'embed_youku'$embed$matches$attr$url$rawattr ); 
  16.     } 
  17.     wp_embed_register_handler( 'youku',  
  18.       '#https?://v.youku.com/v_show/id_(?<video_id>[a-z0-9_=-]+)#i',  
  19.       'wp_embed_handler_youku' ); 
  20.  
  21. //// 對(duì)移動(dòng)端的視頻使用 iframe 方式插入 by zwwooooo | zww.me 
  22. if( wp_is_mobile() ){ 
  23.     //// 如果 WordPress 是中文版,移除原來(lái)的 youku 視頻代碼自動(dòng)插入 
  24.     if (get_bloginfo('language')==='zh-CN'
  25.         wp_embed_unregister_handler( 'youku' ); 
  26.  
  27.     //// 增加 iframe 方式的視頻調(diào)用 
  28.     function wp_iframe_handler_youku( $matches$attr$url$rawattr ) { 
  29.         // If the user supplied a fixed width AND height, use it 
  30.         if ( !emptyempty($rawattr['width']) && !emptyempty($rawattr['height']) ) { 
  31.             $width  = (int) $rawattr['width']; 
  32.             $height = (int) $rawattr['height']; 
  33.         } else { 
  34.             list( $width$height ) = wp_expand_dimensions( 480, 400, $attr['width'], $attr['height'] ); 
  35.         } 
  36.         $iframe = '<iframe width='. esc_attr($width) .' height='. esc_attr($height) .' src="http://player.youku.com/embed/'. esc_attr($matches[1]) .'" frameborder=0 allowfullscreen></iframe>'
  37.         return apply_filters( 'iframe_youku'$iframe$matches$attr$url$ramattr ); 
  38.     } 
  39.     wp_embed_register_handler( 'youku_iframe''#http://v.youku.com/v_show/id_(.*?).html#i''wp_iframe_handler_youku' ); 

OK,WordPress 真是無(wú)孔不入啊,牛x到很多人都不用了轉(zhuǎn)用其他偏門或者小型的博客系統(tǒng).

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 漳平市| 河南省| 四子王旗| 延安市| 荥阳市| 东乌珠穆沁旗| 博爱县| 黄浦区| 江川县| 麻城市| 简阳市| 雷山县| 无极县| 泰来县| 资溪县| 北辰区| 永定县| 泗洪县| 夹江县| 漳平市| 乳源| 汶上县| 大厂| 谷城县| 邢台县| 长春市| 滨州市| 黄大仙区| 曲阜市| 定西市| 成安县| 长白| 册亨县| 商丘市| 磐安县| 临漳县| 城口县| 双江| 保亭| 丰台区| 青龙|