新聞中心

成都創(chuàng)新互聯(lián)公司一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實效"的一站式服務(wù),以網(wǎng)站設(shè)計制作、成都做網(wǎng)站、移動互聯(lián)產(chǎn)品、全網(wǎng)整合營銷推廣服務(wù)為核心業(yè)務(wù)。十余年網(wǎng)站制作的經(jīng)驗,使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價格便宜而且實用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。
談到安全性,我們知道定期更新wordpress安裝(核心、主題和插件)的重要性,以及升級過程可能需要多長時間,尤其是當(dāng)我們安裝了大量插件時。通常建議按照以下步驟操作:
對于單個網(wǎng)站來說,這可能是一項乏味的任務(wù),而當(dāng)我們必須更新五個、十個或更多網(wǎng)站時,這可能是一項煩人且復(fù)雜的工作。
為了提高安裝安全性和簡化站點(diǎn)管理的特定目的,WordPress 3.7引入了自動更新。默認(rèn)情況下,這個很酷的功能是為次要版本(即維護(hù)和安全版本)和翻譯文件啟用的,但可以自定義任何類型的更新。因此,在這篇文章中,我們將研究如何在新版本的WordPress核心、主題或插件發(fā)布時自動執(zhí)行升級過程。讓我們深入了解WordPress自動更新!
WordPress自動更新
- WordPress自動更新
- 通過wp-config.php控制后臺更新
- 通過API過濾器控制后臺更新
- 結(jié)果、通知和調(diào)試電子郵件
- 何時以及為何禁用WordPress自動更新
- 使用插件控制WordPress自動更新
- 高級插件和主題的自動更新
WordPress自動更新
有四種類型的更新和WordPress自動更新:
核心更新分為三個子類型:
WordPress 允許您為這些類型中的任何一種自動更新過程,提供兩個wp-config.php常量和大量API過濾器。
通過wp-config.php控制后臺更新
WordPress提供了幾個wp-config.php常量,允許我們控制自動更新。設(shè)置AUTOMATIC_UPDATER_DISABLED為true將禁用任何類型的自動升級:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
WP_AUTO_UPDATE_CORE允許我們控制核心更新(次要、主要和開發(fā)版本)。這個常數(shù)可以定義如下:
# Disables all core updates: define( 'WP_AUTO_UPDATE_CORE', false ); # Enables all core updates, including minor and major: define( 'WP_AUTO_UPDATE_CORE', true ); # Enables minor updates: define( 'WP_AUTO_UPDATE_CORE', 'minor' );
在開發(fā)安裝中WP_AUTO_UPDATE_CORE默認(rèn)為true。在穩(wěn)定安裝中,它默認(rèn)為次要。
為了完整起見,我應(yīng)該提到一個額外的常量,它可以定義為禁用自動更新。但是,將其值設(shè)置為true將禁用任何文件編輯,甚至主題和插件安裝以及手動更新。
define( 'DISALLOW_FILE_MODS', true );
相反,您可能更喜歡定義DISALLOW_FILE_EDITS常量,這將禁用文件編輯器,但保證安裝和更新功能的安全。
相關(guān)教程: wp-config.php 文件——深入了解如何配置WordPress
通過API過濾器控制后臺更新
配置常量提供了啟用或禁用自動更新的通用方法。但是WordPress提供了許多過濾器,可以更深入地控制任何類型的更新。
注意:過濾器應(yīng)該在插件中使用,“必須使用插件”是后臺更新的一個不錯的選擇。mu-plugins駐留在/wp-content內(nèi)的特定文件夾中,并由WordPress自動啟用。這些插件不會出現(xiàn)在WordPress插件屏幕中,因此站點(diǎn)管理員不會意外禁用或刪除它們。如需更深入的了解,請參閱Codex文檔
首先,通過automatic_updater_disabled過濾器返回true與AUTOMATIC_UPDATER_DISABLED在wp-config.php中將常量定義為true具有相同的效果:
add_filter( 'automatic_updater_disabled', '__return_true' );
我們可以通過控制任何更新類型學(xué)auto_update_$type這使過濾器或禁用更新取決于價值$type('core','plugin','theme'或'translation')。
因此,我們可以通過auto_update_core過濾器返回true來自動化所有核心更新:
add_filter( 'auto_update_core', '__return_true' );
在以下示例中,我們啟用了主題、插件和翻譯的自動更新:
add_filter( 'auto_update_theme', '__return_true' ); add_filter( 'auto_update_plugin', '__return_true' ); add_filter( 'auto_update_translation', '__return_true' );
在上面的示例中,我們剛剛啟用了自動更新。但是這些過濾器讓我們可以更好地控制更新。在以下示例中,我們將自動更新兩個特定插件:
function cb_auto_update_plugins ( $update, $item ) {
$plugins = array ( 'hello', 'akismet' );
if ( in_array( $item->slug, $plugins ) ) {
// update plugin
return true;
} else {
// use default settings
return $update;
}
}
add_filter( 'auto_update_plugin', 'cb_auto_update_plugins', 10, 2 );
回調(diào)函數(shù)保留兩個參數(shù):
該函數(shù)檢查要更新的項目是否在$plugins數(shù)組中,然后相應(yīng)地返回true或false。
最后,我們可以通過返回true或false通過以下過濾器來區(qū)分開發(fā)、次要和主要更新:
add_filter( 'allow_dev_auto_core_updates', '__return_false' ); add_filter( 'allow_minor_auto_core_updates', '__return_true' ); add_filter( 'allow_major_auto_core_updates', '__return_true' );
我們知道有時更新會失敗。在最壞的情況下,網(wǎng)站可能會在更新失敗后關(guān)閉。但幸運(yùn)的是,我們可以要求WordPress在任何更新(或嘗試)后通過電子郵件通知我們。
結(jié)果、通知和調(diào)試電子郵件
根據(jù)更新過程的結(jié)果,WordPress會向管理員地址發(fā)送不同的電子郵件:
- 在自動核心更新后發(fā)送結(jié)果電子郵件;
- 當(dāng)WordPress無法運(yùn)行自動更新時發(fā)送通知電子郵件;
- 調(diào)試電子郵件在WordPress的開發(fā)版本中發(fā)送。
每當(dāng)自動更新成功或失敗時,WordPress都會發(fā)送帶有以下主題之一的結(jié)果或通知電子郵件:
- 您的網(wǎng)站已更新為WordPress XXX(案例成功)
- WordPress XXX可用。請更新!(更新失敗,需要手動更新:案例失?。?/li>
- 緊急:您的網(wǎng)站可能因更新失敗而關(guān)閉(更新失敗且WordPress可能關(guān)閉:案例關(guān)鍵)
auto_core_update_send_email過濾器控制結(jié)果和通知郵件??梢酝ㄟ^false如下返回來禁用這些電子郵件:
apply_filters( 'auto_core_update_send_email', '__return_false' );
特別是如果您計劃將自動更新擴(kuò)展到主要核心和/或主題和插件版本,您可能更愿意啟用結(jié)果和通知電子郵件,或者根據(jù)結(jié)果或更新類型對其進(jìn)行自定義。在以下示例中,如果成功,WordPress將不會發(fā)送結(jié)果電子郵件:
function cb_auto_core_update_send_email ( $send, $type, $core_update, $result ) {
if ( !empty( $type ) && $type == 'success' ) {
// don't send email
return false;
}
// use default settings
return $send;
}
}
add_filter( 'auto_core_update_send_email', 'cb_auto_core_update_send_email', 10, 4 );
回調(diào)函數(shù)保留以下參數(shù):
$send是一個布爾值,用于確定是發(fā)送結(jié)果還是通知電子郵件;$type是一個字符串,用于設(shè)置要發(fā)送的電子郵件類型(成功、失敗或關(guān)鍵);$core_update是更新報價對象;$result是核心更新的結(jié)果(可以是WP_Error)。
默認(rèn)情況下,當(dāng)從WordPress.org收到的更新提議設(shè)置特定標(biāo)志并且安裝無法更新時,管理員會收到通知。每個版本只會發(fā)送一次通知電子郵件。send_core_update_notification_email過濾器允許在是否以及何時發(fā)送此類通知方面有一定的自由裁量權(quán)。按如下方式應(yīng)用過濾器:
apply_filters( 'send_core_update_notification_email', '__return_true' );
最后,automatic_updates_send_debug_email過濾器控制調(diào)試電子郵件,它提供有關(guān)執(zhí)行更新的有用日志信息。默認(rèn)情況下,這些電子郵件由開發(fā)安裝發(fā)送。返回false將阻止WordPress發(fā)送調(diào)試電子郵件,而返回true將啟用這些電子郵件,即使在穩(wěn)定安裝中:
apply_filters( 'automatic_updates_send_debug_email', '__return_true' );
何時以及為何禁用WordPress自動更新
自動更新過程對許多用戶來說是一項很棒的功能,因為他們可以節(jié)省大量時間和工作。但即使看起來自動更新真的很安全,我們也應(yīng)該問問自己,啟用所有這些是否總是一個好主意。
有時,我們可能會遇到主題和插件的不兼容問題,這可能會中斷某些功能甚至破壞網(wǎng)站。如果網(wǎng)站依賴于大量插件,則執(zhí)行手動更新可能更安全,至少對于插件而言。一對一的過程使我們能夠快速檢測自動化難以發(fā)現(xiàn)的問題。
此外,如果您是一名開發(fā)人員,即使您不打算分發(fā)它們,您也應(yīng)該小心為主題和插件選擇的名稱。運(yùn)行更新時,WordPress 會在插件目錄中查找插件的新版本,并在找到同名插件時覆蓋文件。因此,如果您想為主題和插件啟用后臺更新,請務(wù)必為您的腳本設(shè)置唯一的名稱。
是的,這對開發(fā)人員來說是很多好東西。但是非開發(fā)人員用戶如何管理自動更新?
使用插件控制WordPress自動更新
如果您不是開發(fā)人員,則可以使用插件控制WordPress自動更新。
Easy Updates Manager允許管理員用戶在單站點(diǎn)和多站點(diǎn)安裝上控制WordPress更新。該插件允許管理WordPress更新的所有類型,并且可以單獨(dú)選擇主題和插件進(jìn)行自動更新。附加功能與通知電子郵件、用戶阻止和記錄插件更新有關(guān)。
Easy Updates Manager插件
在不兼容的情況下,可能需要快速恢復(fù)到主題或插件的先前版本。WP Rollback允許您從插件屏幕恢復(fù)任何已安裝主題和插件的先前版本。只需單擊回滾鏈接,插件就會向您顯示所有可用版本的列表。不幸的是,如果您的網(wǎng)站出現(xiàn)故障,WP回滾將無濟(jì)于事,所以不要忘記備份并仔細(xì)閱讀在線文檔。
WP Rollback插件
最后,如果您需要對WordPress安裝中的自動更新進(jìn)行兼容性測試,Background Update Tester將提供您需要的信息。
高級插件和主題的自動更新
作為高級WordPress插件或主題的開發(fā)人員,您有責(zé)任將自動更新機(jī)制集成到您的產(chǎn)品中,以提供用戶對WordPress.org產(chǎn)品所期望的無縫更新體驗。這已成為當(dāng)今的市場標(biāo)準(zhǔn)(有充分的理由)。您可以自己托管高級產(chǎn)品并開發(fā)更新機(jī)制,或利用Freemius、Kernl或WP Updates等平臺,這些平臺提供安全的存儲庫和開箱即用的自動更新即服務(wù)。
小結(jié)
WordPress自動更新是一項很棒的功能,可以為我們節(jié)省大量時間和工作,并使我們能夠定期更新我們的網(wǎng)站。但是你會啟用各種更新嗎?請在下面的評論中告訴我們。
文章題目:深入了解WordPress自動更新
文章轉(zhuǎn)載:http://m.fisionsoft.com.cn/article/dpcdjdh.html


咨詢
建站咨詢
