女武神的终末第三季免费观看,国产精品va无码二区,欧美日韩在线视频观看,国产在线观看网站

WordPress:創建備份及恢復選項設置小插件

2018-07-26 wordpress經驗
  • 文章介紹
  • 快速入門
  • 評價&建議

后臺選項是在WordPress中最重要的數據,它們存儲著您的博客的各種配置設置。這些選項可以改變WordPress的顯示。因此,如果我們沒有記住每一個精確值,如何配置他們回到以前的狀態?

今天,要告訴你如何為WordPress博客創建一個簡單的備份/恢復功能。有了這個功能,你可以將所有的選項配置備份到另一個地方,可以在任何時間恢復,無需重新配置它們。

在一般情況下,此功能將有兩部分實現,一個是數據庫備份導出部分和恢復數據的導入部分。下面,就一步一步的帶大家一起做這個簡單插件。

步驟一:建立一個ieoption.php的文件,下面的操作均在此文件內,根據WordPress官方插件的描述建立插件的頭部:

/*

Plugin Name: I/E Option

Plugin URI: http://www.***com/ //此為插件官方地址

Description: 這是一個簡單的備份及恢復網站選項設置的插件。

Author: luoboyu

Version: 1.0

Author URI:http://www.***.com/ //此為插件作者地址

*/

實現功能如下圖:

WordPress:創建備份及恢復選項設置小插件

備份插件啟用

步驟二:在WordPress后臺創建管理頁面,我們需要在后臺創建一個管理頁面,其包括數據庫備份導出和恢復數據導出接口。在function中放入下面的代碼。

function register_ie_option() {
add_menu_page(‘IE Option Page’, ‘IE Option’, ‘activate_plugins’, ‘ie-option’, ‘ie_option_page’, ”, 76);
add_submenu_page(‘ie-option’, ‘Import’, ‘Import’, ‘activate_plugins’, ‘ie-import-option’, ‘ie_import_option_page’);
add_submenu_page(‘ie-option’, ‘Export’, ‘Export’, ‘activate_plugins’, ‘ie-export-option’, ‘ie_export_option_page’);
}
function ie_option_page() {
}
function ie_import_option_page() {
// 內容導入部分
}
function ie_export_option_page() {
// 內容導出部分
}
add_action(‘admin_menu’, ‘register_ie_option’);

注意事項:

1、我們使用add_menu_page在管理頁的側邊欄添加一個新的頂級菜單,其中ie_option_page參數是回調函數,輸出頁面內容。

2、我們使用add_submenu_page將兩個不同的功能菜單添加到我們剛剛創建的頂級菜單下。

步驟三:創建數據庫導出功能:

function ie_export_option_page() {
if (!isset($_POST[‘export’])) {
?>
<div >
<div id=”icon-tools” ><br /></div>
<h2>數據庫導出</h2>
<p>當你點擊 <tt>備份所有選項</tt>按鈕時, 系統會創建一個文件,保存在電腦上.</p>
<p>此備份文件包括所有的設置選項</p>
<p>導出后,您可以使用此備份文件恢復站點設置或導入另外的WordPress站</p>
<form method=’post’>
<p >
<?php wp_nonce_field(‘ie-export’); ?>
<input type=’submit’ name=’export’ value=’Backup all options’/>
</p>
</form>
</div>
<?php
}
elseif (check_admin_referer(‘ie-export’)) {
$blogname = str_replace(” “, “”, get_option(‘blogname’));
$date = date(“m-d-Y”);
$json_name = $blogname.”-“.$date; //定義將創建的備份文件名
$options = get_alloptions(); //獲取WordPress選項設置,存入數組
foreach ($options as $key => $value) {
$value = maybe_unserialize($value);
$need_options[$key] = $value;
}
$json_file = json_encode($need_options);
ob_clean();
echo $json_file;
header(“Content-Type: text/json; charset=” . get_option( ‘blog_charset’));
header(“Content-Disposition: attachment; filename=$json_name.json”);
exit();
}
}

注意事項:

1、get_alloptions()是將獲取網站上所有的選項,并作為一個數組返回。

2、我們獲取的僅僅是WordPress的選項設置,不包括其他的數據。

步驟四:創建數據庫導入功能:

function ie_import_option_page() {
?>
<div >
<div id=”icon-tools” ><br /></div>
<h2>Import</h2>
<?php
if (isset($_FILES[‘import’]) && check_admin_referer(‘ie-import’)) {
if ($_FILES[‘import’][‘error’] > 0) {
wp_die(“Error happens”);
}
else {
$file_name = $_FILES[‘import’][‘name’]; //獲取文件名?????$file_ext = strtolower(end(explode(“.”, $file_name))); //獲取文件擴展名
$file_size = $_FILES[‘import’][‘size’]; //獲取文件大小
if (($file_ext == “json”) && ($file_size < 500000)) {
$encode_options = file_get_contents($_FILES[‘import’][‘tmp_name’]);
$options = json_decode($encode_options, true);
foreach ($options as $key => $value) {
update_option($key, $value);
}
echo “<div ><p>所有選項恢復成功.</p></div>”;
}
else {
echo “<div ><p>無效文件或文件過大.</p></div>”;
}
}
}
?>
<p>單擊”瀏覽”按鈕,選擇您要恢復的文件.</p>
<p>單擊重置按鈕,恢復您的WordPress選項</p>
<form method=’post’ enctype=’multipart/form-data’>
<p >
<?php wp_nonce_field(‘ie-import’); ?>
<input type=’file’ name=’import’ />
<input type=’submit’ name=’submit’ value=’Restore’/>
</p>
</form>
</div>
<?php
}

實現效果如下圖所示:

WordPress:創建備份及恢復選項設置小插件

備份插件菜單

WordPress:創建備份及恢復選項設置小插件

備份插件導入功能

步驟五:為WordPress創建自定義的一些備份功能:

上面的插件,實現了備份所有的網站選項get_alloptions的功能。如果你想有自己的特定選項,我們可以這樣做:options數組內存儲更多的數據即可。

$options = array(‘your_option1_name’ => get_option(‘your_option1_name’), ‘your_option2_name’ => get_option(‘your_option2_name’);
$json_file = json_encode($options);

上面,和大家一起學習了創建一個簡單的備份/還原功能的小插件的過程。你應該注意到,這個插件僅僅是一個簡單的示例,而不是一個正式的一個。蘿卜魚的目標不是寫一個完美的插件,而是展示這一功能實現的基本原則。通過了解它,你可以創建自己的模板或插件功能,希望此示例對您有幫助,本文由蘿卜居家園網http://www.luoboju.com 原創發表,轉載請注明,謝謝!

0 0

企業建站推薦正版商業主題,國內專業團隊開發,完善售后,是您不二選擇。

正版主題商店

主題貓WP建站,累計幫助1300+客戶成功建站,為站長提供支持!

立刻開啟你的建站之旅
QQ在線客服

服務熱線

wordpress建站咨詢