運用現代塗料科技與塗裝技術來調整與控制室內環境之健康與舒適度,保護居住者身心健康,創造一個舒適、健康的綠色家居.
'。__('對不起,出現錯誤。','blogger-importer')。' '。__('對不起,出現錯誤。','blogger-importer')。' '。__('全部完成。','blogger-importer')。' '。__('記住要更新導入用戶的密碼和角色。','blogger-importer')。'';
do_action('import_end');
}
/ **
*處理WXR上傳和文件的初始解析以準備
*顯示作者導入選項
*
* @return bool如果上傳錯誤或文件無效,則為False,否則為true
* /
函數handle_upload(){
$ file = wp_import_handle_upload();
if(isset($ file ['error'])){
迴聲' '。__('對不起,出現錯誤。','blogger-importer')。' '。__('對不起,出現錯誤。','blogger-importer')。' '。__('對不起,出現錯誤。','blogger-importer')。' <?php _e('為了使您更輕鬆地編輯和保存導入的內容,您可能希望將導入項的作者重新分配給該站點的現有用戶。例如,您可能要導入所有條目都作為 <?php printf(__('如果WordPress創建了一個新用戶,將隨機生成一個新密碼,並將新用戶的角色設置為%s。手動更改新用戶&#8217 ; s的詳細信息是必要的。','blogger-importer'),esc_html(get_option('default_role'))); ?>
<?php endif; ?>
” />
<?php
}
/ **
*顯示單個作者的導入選項。也就是說,要么創建
*基於導入信息的新用戶或映射到現有用戶
*
* @param int $ n每個作者的索引格式
* @param array $ author作者信息,例如登錄名,顯示名稱,電子郵件
* /
函數author_select($ n,$ author){
_e('導入作者:','blogger-importer');
迴聲''。esc_html($ author ['author_display_name']);
回顯' '.__('Howdy!上傳您的Blogger導出的XML文件,我們將從其內容導入此站點。','blogger-importer')。'';
echo' '.__('選擇要上傳的XML文件,然後單擊Upload file and import。','blogger-importer')。'';
wp_import_upload_form('admin.php?import = blogger&amp; step = 1');
迴聲'';
}
/ **
*確定給定的元鍵是否映射到我們將要導入的信息
*
* @param string $ key要檢查的元鍵
* @return string | bool如果要導入,則為鍵,否則為false
* /
函數is_valid_meta_key($ key){
//跳過附件元數據,因為我們將從頭開始重新生成它
//跳過_edit_lock與導入無關
如果(in_array($ key,array('_wp_attached_file','_wp_attachment_metadata','_edit_lock'))))
返回false;
返回$ key;
}
/ **
*確定是否允許導入者創建用戶。
*默認為true,可以通過import_allow_create_users進行過濾
*
* @return bool如果允許創建用戶,則為True
* /
函數allow_create_users(){
返回apply_filters('import_allow_create_users',true);
}
/ **
*添加到http_request_timeout過濾器中,以在導入過程中強制60秒超時
* @返回int 60
* /
函數ump_request_timeout($ val){
返回60;
}
//返回兩個字符串之間的長度差
函數cmpr_strlen($ a,$ b){
返回strlen($ b)-strlen($ a);
}
}
} // class_exists('Blogger_Importer')
函數blogger_importer_init(){
load_plugin_textdomain('blogger-importer',false,dirname(plugin_basename(__FILE__))。'/ languages /');
/ **
* WordPress Importer對象,用於註冊導入回調
* @global WP_Import $ wp_import
* /
$ GLOBALS ['wp_import'] =新的Blogger_Importer();
register_importer('blogger',__('Blogger','blogger-importer'),__('從Blogger博客中導入帖子,評論和類別,並將作者遷移到WordPress用戶。','blogger-importer'),數組($ GLOBALS ['wp_import'],'dispatch'));
}
add_action('admin_init','blogger_importer_init');
';
echo __('文件不存在,請重試。','blogger-importer')。'';
$ this-> footer();
死();
}
$ import_data = $ this-> parse($ file);
如果(is_wp_error($ import_data)){
迴聲'
';
echo esc_html($ import_data-> get_error_message())。'';
$ this-> footer();
死();
}
$ this-> import_data = $ import_data;
//
$ links = $ import_data-> get_links('alternate');
$ this-> host = parse_url($ links [0],PHP_URL_HOST);
$ this-> images_progress = 0;
$ this-> images_skipped = 0;
$ this-> links_done = 0;
$ this-> links_progress = 0;
wp_defer_term_counting(true);
wp_defer_comment_counting(true);
do_action('import_start');
}
/ **
*執行導入後文件和緩存的清理
* /
函數import_end(){
wp_import_cleanup($ this-> id);
wp_cache_flush();
foreach(get_taxonomies()as $ tax){
delete_option(“ {$ tax} _children”);
_get_term_hierarchy($ tax);
}
wp_defer_term_counting(false);
wp_defer_comment_counting(false);
迴聲'
';
迴聲esc_html($ file ['error'])。'';
返回false;
} else if(!file_exists($ file ['file'])){
迴聲'
';
printf(__('在%s 上找不到導出文件。這很可能是由於權限問題引起的。','blogger-importer'),esc_html($ file ['文件']));
迴聲'';
返回false;
}
$ this-> id =(int)$ file ['id'];
$ import_data = $ file ['file'];
如果(is_wp_error($ import_data)){
迴聲'
';
echo esc_html($ import_data-> get_error_message())。'';
返回false;
}
$ this-> get_authors_from_import($ import_data);
返回true;
}
/ **
*從解析的數據中檢索作者
*
* @param array $ import_data WXR解析器返回的數據
* /
函數get_authors_from_import($ import_data){
$ feed = $ this-> parse($ import_data);
$ authors = $ feed-> get_authors();
foreach($ authors為$ author){
$ login = sanitize_user($ author-> get_name(),true);
$ this-> authors [$ login] = array(
'author_login'=> $ author-> get_name(),
'author_display_name'=> $ author-> get_name(),
'author_email'=> $ author-> get_email(),
);
}
}
/ **
*顯示預導入選項,作者導入/映射和選項
*獲取附件
* /
函數import_options(){
$ j = 0;
?>
” method =“ post”>
<?php wp_nonce_field('import-blogger'); ?>
id;?>” />
<?php if(!empty($ this-> authors)):?>
<?php _e('Assign Authors','blogger-importer'); ?>
admin 的條目。”,“ blogger-importer”);?>
<?php if($ this-> allow_create_users()):?>
<?php foreach($ this-> authors為$ author):?>
';
$ create_users = $ this-> allow_create_users();
如果($ create_users){
_e('作為新用戶:','blogger-importer');
$ value = esc_attr(sanitize_user($ author ['author_login'],true));
迴聲'
';
}
_e('或將帖子分配給現有用戶:','blogger-importer');
wp_dropdown_users(array('name'=>“ user_map [$ n]”,'multi'=> true,'show_option_all'=> __('-Select-','blogger-importer'))));
迴聲'';
}
/ **
*根據做出的決定將舊作者登錄名映射到本地用戶ID
*導入選項格式。可以映射到現有用戶,創建新用戶
*或在先前任何一個出現錯誤的情況下退回到當前用戶
* /
函數get_author_mapping(){
如果(!isset($ _POST ['imported_authors']))
返回;
$ create_users = $ this-> allow_create_users();
foreach((array)$ _POST ['imported_authors'] as $ i => $ old_login){
//多站點將strtolower添加到sanitize_user。需要在此處進行清理以停止process_posts中的損壞。
$ santized_old_login = sanitize_user($ old_login,true);
$ old_id = isset($ this-> authors [$ old_login] ['author_id'])嗎?intval($ this-> authors [$ old_login] ['author_id']):false;
if(!empty($ _POST ['user_map'] [$ i])){
$ user = get_userdata(intval($ _ POST ['user_map'] [$ i]));
如果(isset($ user-> ID)){
如果($ old_id)
$ this-> processed_authors [$ old_id] = $ user-> ID;
$ this-> author_mapping [$ santized_old_login] = $ user-> ID;
}
} else if($ create_users){
if(!empty($ _ POST ['user_new'] [$ i])){
$ user_id = wp_create_user($ _POST ['user_new'] [$ i],wp_generate_password());
} else if($ this-> version!='1.0'){
$ user_data =數組(
'user_login'=> $ old_login,
'user_pass'=> wp_generate_password(),
'user_email'=> isset($ this-> authors [$ old_login] ['author_email'])嗎?$ this-> authors [$ old_login] ['author_email']:'',
'display_name'=> $ this-> authors [$ old_login] ['author_display_name'],
'first_name'=> isset($ this-> authors [$ old_login] ['author_first_name'])嗎?$ this-> authors [$ old_login] ['author_first_name']:'',
'last_name'=> isset($ this-> authors [$ old_login] ['author_last_name'])嗎?$ this-> authors [$ old_login] ['author_last_name']:'',
);
$ user_id = wp_insert_user($ user_data);
}
如果(!is_wp_error($ user_id)){
如果($ old_id)
$ this-> processed_authors [$ old_id] = $ user_id;
$ this-> author_mapping [$ santized_old_login] = $ user_id;
}其他{
printf(__('無法為%s創建新用戶。他們的帖子將歸因於當前用戶。','blogger-importer'),esc_html($ this-> authors [$ old_login] ['author_display_name']) );
如果(定義('IMPORT_DEBUG')&& IMPORT_DEBUG)
迴聲'。$ user_id-> get_error_message();
迴聲'
';
}
}
//故障安全:如果user_id無效,則默認為當前用戶
if(!isset($ this-> author_mapping [$ santized_old_login])){
如果($ old_id)
$ this-> processed_authors [$ old_id] =(int)get_current_user_id();
$ this-> author_mapping [$ santized_old_login] =(int)get_current_user_id();
}
}
}
/ **
*根據導入信息創建新帖子
* /
函數process_posts(){
$ feed = $ this-> import_data;
foreach($ feed-> get_items()as $ item){
//首先檢查是否確實是帖子
// 或
*參考:http://www.the-art-of-web.com/php/parse-links/
*“ ] * href =(\” ??)([^ \“>] *?)\\ 1 [^>] *>(。*)<\ / a>”
* http://wordpress.org/extend/plugins/blogger-image-import/
*“ ] + href \ =([\”'`])(。*)\\ 1 [^ <] *?
] * src \ =([\“'`] )(。*)\\ 3 [^>] *>“
* /
函數get_images($ content){
$ highrez = array();
$ lowrez = array();
//帶有鏈接的第一張圖片
//擴展此頂級嘗試並獲取Alt和/或Title屬性用作描述可能會很好
$ regexp =“ ] * href \ =([\”'`]]([^>] *?)\\ 1 [^ <] *?
] * src \ =([\“'`])([^ \>] *?)\\ 3 [^>] *>”;
如果(preg_match_all(“ / $ regexp / siU”,$ content,$ matches1,PREG_SET_ORDER)){
//http://www.techrepublic.com/article/17-useful-functions-for-manipulating-arrays-in-php/5792851
foreach($ matches1 as $ match){
如果($ this-> isurlimage($ match [2])){
$ highrez [$ match [4]] = $ match [2];
}其他{
$ lowrez [$ match [4]] ='';
}
}
}
//現在有任何圖像(nb與先前的圖像重疊)
$ regexp =“
] * src \ =([\”'`]]([^ \>] *?)\\ 1 [^>] *>“;
如果(preg_match_all(“ / $ regexp / siU”,$ content,$ matches2,PREG_SET_ORDER)){
foreach($ matches2 as $ match){
$ lowrez [$ match [2]] ='';
}
}
//從第二組中刪除第一組中已經存在的所有行,並合併兩組結果
$ images = array_merge($ lowrez,$ highrez);
返回$ images;
}
/ **
*更新帖子中已導入的所有圖像
* /
函數process_images(){
$ postsprocessed = $ this-> images_progress;
如果($ postsprocessed == 0){
$ imagesprocessed = 0;
$ imagesskipped = 0;
}其他{
$ imagesprocessed = $ this-> images_done;
$ imagesskipped = $ this-> images_skipped;
}
$ batchsize = 20;
$ loadedposts = get_posts(array(
'meta_key'=>'blogger_blog',
'meta_value'=> $ this-> host,
'posts_per_page'=> $ batchsize,
'偏移'=> $ postsprocessed,
'post_status'=> array('草稿','發布','未來')
));
//如果什麼都沒剩下就停止
如果(count($ loadedposts)== 0){
返回true;
}
foreach($ loadedposts as $ importedpost){
$ importedcontent = $ importedpost-> post_content;
$ author = get_post_meta($ importedpost-> ID,'blogger_author',true);
$ img_count = 0; //此帖子的圖片計數
foreach($ this-> get_images($ importedcontent)as $ lowrez => $ highrez){
如果(!$ this-> image_filter($ lowrez)){
//傳遞null作為描述,以便使用默認值(文件名),而不是使用Alt標記會更好嗎?
$ newcontent = $ this-> import_image($ importedpost-> ID,$ lowrez,$ highrez,null,$ img_count,$ importedcontent,$ this-> host,$ author);
如果(!is_wp_error($ newcontent)){
$ importedcontent = $ newcontent;
$ img_count ++;
}其他{
$ imagesskipped ++;
}
}
}
$ imagesprocessed + = $ img_count;
$ importedpost-> post_content = $ importedcontent;
wp_update_post($ importedpost);
$ postsprocessed ++;
$ this-> images_done = $ imagesprocessed;
$ this-> images_progress = $ postsprocessed;
$ this-> images_skipped = $ imagesskipped;
}
未設置($ loadedposts);
返回;
}
函數image_urlremap($ url,$ large){
/ *修正問題網址
例如,將https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUNMktEEKmmt-TTN0adsyC-S4pT_Q-GC-CHacvvwZueFjnw8PYA12XrJkF40oRWi8B04TOu7tsTqVXKbv_RlrC4o_9oCDs3rtLmaY7eOOM_9MZRA4KyNoiFCFzEZJ26QzVvfGqRKOh0vHI2upV/s800-h/Ski%2520Trip.jpg更改為
到https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUNMktEEKmmt-TTN0adsyC-S4pT_Q-GC-CHacvvwZueFjnw8PYA12XrJkF40oRWi8B04TOu7tsTqVXKbv_RlrC4o_9oCDs3rtLmaY7eOOM_9MZRA4KyNoiFCFzEZJ26QzVvfGqRKOh0vHI2upV/s800/Ski%2520Trip.jpg
可以在此處使用apply_filter來允許用戶添加自己的tweeks
* /
$ pattern ='/(\ /)(s \ d *)-h(\ /)/ i';
$ replacement ='$ 1 $ 2 $ 3';
$ img = preg_replace($ pattern,$ replacement,$ url);
/ *刪除?和#在文件末尾* /
$ pattern ='/(.*)[#\?].*/i';
$ replacement ='$ 1';
$ img = preg_replace($ pattern,$ replacement,$ img);
如果($ large){
//對於博客上的圖片,我們可以將/ sXXX /與/ s1600 /交換,以獲取更大的文件。
//使用標準的大尺寸,這樣我們就可以控制質量和文件大小。
$ pattern ='/(\ /)(s \ d *)(\ /)/ i';
$ replacement ='$ 1s'.Blogger_Importer :: LARGE_IMAGE_SIZE。
'$ 3';
$ img = preg_replace($ pattern,$ replacement,$ img);
}
返回$ img;
}
函數image_filter($ url){
//我們是否排除此特定圖片?
//不包含已經加載到該站點的圖像
//可以在此處使用apply_filter來允許用戶添加自己的tweeks
return(substr($ url,0,strlen(site_url()))== site_url());
}
函數import_image($ post_id,$ lowrez,$ highrez,$ description,$ imgcount,$ postcontent,$ blogname,$ author){
/ *導入新圖像,除非我們專門將其過濾掉,或者已經將其下載到另一頁上。
基於http://wordpress.stackexchange.com/questions//media-sideload-image-file-name和tumblr-importer
簡單的文件名清理,例如+,%之類的字符會引起問題,例如:http://wordpress.org/extend/plugins/uploadplus/
它正在處理類似於“ get_images”功能所提供的形式的鏈接
要么
如果高分辨率(鏈接的)文件不是圖像,則下載低分辨率版本。
* /
$ lowrez_old = $ lowrez;
$ highrez_old = $ highrez;
$ highrezispage = false;
$ lowrez = $ this-> image_urlremap($ lowrez,false);
如果($ lowrez =='')
返回新的WP_Error('不是圖像',$ message = __('Lowrez不是圖像','blogger-importer'),$ data = array($ lowrez_old,$ highrez_old));
如果($ highrez!=''){
$ highrez = $ this-> image_urlremap($ highrez,true);
}其他{
$ highrez = $ this-> image_urlremap($ lowrez,true);
}
如果(!$ att_id = $ this-> image_exists($ lowrez)){
//可以為download_url添加一個超時時間,但是不要使用wp_remote_get超時時間,因為它比默認的300s短得多
$ tmp = @download_url($ highrez);
如果(is_wp_error($ tmp)){
@unlink($ tmp); //清理,從其他示例中復制了此代碼,但是如果$ tmp是錯誤的,這應該如何工作?
//不要退出,因為仍然可以嘗試小圖像
}
//如果highrez不是圖像,請嘗試lowrex
如果(!$ this-> is_image($ tmp,$ highrez)){
$ highrezispage = true; //該圖片無效
$ tmp = @download_url($ lowrez); //在此處添加超時的選項
如果(is_wp_error($ tmp)){
@unlink($ tmp); // 清理
返回$ tmp; //輸出wp_error
}
如果(!$ this-> is_image($ tmp,$ lowrez)){
@unlink($ tmp); //清理所有項目實際上都不是圖像,例如可能是單個像素,故意被濾除還是出現404錯誤?
返回新的WP_Error('No Images',__('沒有圖像有效','blogger-importer'),$ data = array($ lowrez_old,$ highrez_old));
}
}
$ new_name = preg_replace('/ [^ A-Za-z0-9._] / i','-',basename($ lowrez));
$ file_array = array('name'=> $ new_name,'tmp_name'=> $ tmp);
$ att_id = media_handle_sideload($ file_array,$ post_id,$ description,array('post_excerpt'=> $ description));
如果(is_wp_error($ att_id)){
@unlink($ file_array ['tmp_name']);
返回$ att_id;
}
//將附件鏈接到舊的url,存儲作者,以便我們以後可以替換它
add_post_meta($ att_id,'blogger_permalink',$ lowrez);
add_post_meta($ att_id,'blogger_blog',$ blogname,true);
add_post_meta($ att_id,'blogger_author',$ author,true);
if($ highrezispage)//不存儲圖片,所以我們以後可以鏈接
add_post_meta($ att_id,'blogger_largeimgispage',true);
}其他{
//圖像已經存在,請檢查上一次高清晰度圖像是否有效
$ tmp = get_post_meta($ att_id,'blogger_largeimgispage',true);
如果($ tmp == true)
$ highrezispage = true;
}
//始終將picassa網絡視為圖像,以便將它們替換為新的High rez鏈接
如果(substr($ highrez,0,27)=='http://picasaweb.google.com')
$ highrezispage = false;
//替換圖片字符串
如果(!$ highrezispage && $ highrez_old!=''){
$ imagesrc = wp_get_attachment_image_src($ att_id,'full');
$ highrez_new =重置($ imagesrc);
$ postcontent = str_replace($ highrez_old,$ highrez_new,$ postcontent);
}
$ imagesrc = wp_get_attachment_image_src($ att_id,'medium');
$ lowrez_new =重置($ imagesrc);
$ postcontent = str_replace($ lowrez_old,$ lowrez_new,$ postcontent);
//將第一張圖片設置為發布縮略圖(零索引)
如果($ imgcount == 0){
set_post_thumbnail($ post_id,$ att_id);
}
// media handle sideload移動文件,因此應該沒有臨時文件,而只是以防萬一。
@unlink($ tmp);
//萬一出問題了
如果($ postcontent ==''){
返回新的WP_Error('Empty Content',__(“試圖寫空內容”,'blogger-importer'),$ data = array($ lowrez_old,$ highrez_old));
}
返回$ postcontent;
}
函數is_image($ file,$ filename){
//下載的文件真的是圖像嗎
//例如,它看起來像來自URL的圖像,但下載後卻是html頁面
//也過濾掉1像素平方的跟踪圖像
//發現wp_check_filetype_and_ext和wp_match_mime_types提供了誤報
$ imgstats = @getimagesize($ file);
如果(!$ imgstats){
返回false;
}
返回((($ imgstats [0]> 1)&&($ imgstats [1]> 1)));
}
函數image_exists($ lowrez){
全局$ wpdb;
return $ wpdb-> get_var($ wpdb-> prepare(“從$ wpdb-> posts中選擇ID p INNER JOIN $ wpdb-> postmeta m ON p.ID = m.post_id AND meta_key ='blogger_permalink'其中post_type ='附件'AND meta_value =%s LIMIT 0,1“,
$ lowrez));
}
函數process_links(){
//更新博客中的所有鏈接
全局$ wpdb;
$ postsprocessed = $ this-> links_progress;
如果($ postsprocessed == 0){
$ linksprocessed = 0;
}其他{
$ linksprocessed = $ this-> links_done;
}
$ batchsize = 20;
$ oldurlsearch = $ this-> host;
if(substr($ oldurlsearch,0,3)=='www。'){
$ oldurlsearch = substr($ oldurlsearch,3,strlen($ oldurlsearch-3));
}
$ oldurlsearch = str_replace('。','\。',$ oldurlsearch);
$ blogspot = stripos($ oldurlsearch,'\ .blogspot \。');
if($ blogspot){//博客地址可以是國際地址,例如myblog.blogspot.com,myblog.blogspot.com.au或myblog.blogspot.co.uk或myblog.blogspot.de都解析為同一個博客。
//請參閱http://www.searchenginejournal.com/google-blogger-url-censorship/39724/
$ oldurlsearch = substr($ oldurlsearch,0,$ blogspot + 12)。
'[\ w \。] {2,6}';
}
$ loadedposts = get_posts(array('meta_key'=>'blogger_blog','meta_value'=> $ this-> host,'posts_per_page'=> $ batchsize,'offset'=> $ postsprocessed,'post_status'=>數組( '草稿','發布','未來'))));
//如果什麼都沒剩下就停止
如果(count($ loadedposts)== 0){
返回true;
}
foreach($ loadedposts as $ importedpost){
$ importedcontent = $ importedpost-> post_content;
$ regexp ='] * href =([\“ \'`]])(https?:\ / \ /(?: www \。)*'。$ oldurlsearch。'\ /)( [^ \“>] *?)\ 1 [^>] *>(。*)<\ / a>';
如果(preg_match_all(“ / $ regexp / siU”,$ importedcontent,$ matches,PREG_SET_ORDER)){
foreach($ matches as $ match){
$ HostURL = substr($ match [2],0,strlen($ match [2])-1); //例如http://minitemp.blogspot.co.uk
$ PageURL ='/'.$match[3]; // eg'/2011/04/what-happens-if-blog-title-is-really.html'
$ sql = $ wpdb-> prepare(“ SELECT post_id FROM $ wpdb-> postmeta m
內部連接$ wpdb->在p.id = m.post_id和post_type ='post'上發布p
其中meta_key ='%s'
和meta_value ='%s'
”,“ blogger_permalink”,$ PageURL);
$ linkpostid = $ wpdb-> get_var($ sql);
如果($ linkpostid!= 0){
$ NewURL = get_permalink($ linkpostid);
} else {//找不到頁面,僅使用新域更新內容
$ NewURL = site_url($ PageURL);
}
$ importedcontent = str_replace($ HostURL。$ PageURL,$ NewURL,$ importedcontent); $ linksprocessed ++;
}
如果($ importedcontent ==''){
返回新的WP_Error('Empty Content',__(“嘗試寫空內容”));
}
$ importedpost-> post_content = $ importedcontent;
wp_update_post($ importedpost);
}
$ postsprocessed ++;
//由於某種原因,中間值未寫入,是否緩存了選項,因此不回讀?
$ this-> links_done = $ linksprocessed;
$ this-> links_progress = $ postsprocessed;
}
未設置($ loadedposts);
返回;
}
函數isurlimage($ srcurl){
//處理picasaweb鏈接和圖像文件
如果(substr($ srcurl,0,27)=='http://picasaweb.google.com')
返回true;
返回preg_match('/(?i)\。(jpe?g | png | gif | bmp)$ / i',$ srcurl);
}
/ **
*解析原子文件
*
* @param string $ file用於解析的XML文件的路徑
* @提要Feed的SimplePie對象
* /
函數parse($ file){
$ data = file_get_contents($ file);
//解析提要
$ feed = new SimplePie();
//根據文檔,get_registry取代了set_xxxx方法(不起作用?)
$ reg = $ feed-> get_registry();
$ reg-> register('Sanitize','Blogger_Importer_Sanitize');
$ feed-> sanitize = $ reg-> create('Sanitize'); //真的不需要這樣做,但是SimplePie類似乎有問題嗎?
$ reg-> register('Item','WP_SimplePie_Blog_Item');
$ feed-> set_raw_data($ data);
$ feed-> init();
返回$ feed;
}
//顯示導入頁面標題
函數header(){
迴聲'
'。__('Import Blogger','blogger-importer')。'';
}
//關閉div.wrap
函數footer(){
迴聲'';
}
/ **
*顯示介紹性文字和文件上傳表格
* /
函數greet(){
迴聲'
0 意見: