久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

WordPress更新服務器

WordPress插件和主題的自定義更新API

從用戶的角度來看,更新的工作方式與使用官方WordPress.org目錄中列出的插件和主題一樣。

Github: https://github.com/YahnisElsts/wp-update-server

本站下載:

wp-update-server-master.zip

提取碼:無
解壓碼:無

特征

  • 提供插件和主題的更新。從用戶的角度來看,更新的工作方式與使用官方WordPress.org目錄中列出的插件和主題一樣。
  • 易于設置。只需將腳本目錄上載到服務器,然后在packages子目錄中放置插件或主題ZIP?。現在,您可以在上使用有效的更新API?http://yourserver.com/wp-update-server/?action=get_metadata&slug=your-plugin
  • 易于與現有插件和主題集成。它只需要大約5行代碼。有關詳細信息,請參見
  • 插件更新檢查器

  • 或者只是向下滾動到簡短版本的“入門”部分。
  • 最低的服務器要求。服務器組件需要PHP 5.3+和Zip擴展。客戶端庫只需要PHP 5.2 – 相同的WordPress的當前版本。
  • 專為可擴展性而設計。要保護您的升級下載鏈接嗎?還是使用自定義記錄器或緩存?也許您的插件沒有標準readme.txt,而是您希望從數據庫中加載changelog和其他更新meta?通過擴展Wpup_UpdateServer類來創建自己的定制服務器。請參閱下面的示例。

入門

設置服務器

設置過程的這一部分對于插件和主題都是相同的。為了簡潔起見,我將從插件的角度對其進行描述。

  1. wp-update-server目錄上載到您的站點。您可以根據需要將其重命名為其他名稱(例如updates)。
  2. 使cachelogs子目錄可由PHP寫入。
  3. 創建插件目錄的Zip存檔。檔案名稱必須與目錄名稱+“ .zip”相同。
  4. 將Zip文件復制到packages子目錄。
  5. 通過/wp-update-server/?action=get_metadata&slug=plugin-directory-name在瀏覽器中訪問來驗證API是否有效。您應該看到一個JSON文檔,其中包含有關插件的各種信息(名稱,版本,說明等)。

提示:使用JSONView擴展名(Firefox,?Chrome)在瀏覽器中漂亮地打印JSON。

創建Zip文件時,請確保插件文件位于目錄內,而不位于存檔根目錄下。例如,假設您有一個名為“我的酷插件”的插件,并且該插件位于內部/wp-content/plugins/my-cool-plugin。ZIP文件的名稱my-cool-plugin.zip應包含以下內容:

/my-cool-plugin
    /css
    /js
    /another-directory
    my-cool-plugin.php
    readme.txt
    ...

如果將所有內容放在根目錄下,則更新通知可能會很好地顯示,但是當您嘗試安裝更新時會遇到無法解釋的問題,因為WordPress希望插件文件位于子目錄中。

與插件集成

現在您已經準備好運行服務器,下一步是使您的插件查詢它的更新。我們將使用plugin-update-checker庫來實現。

插件更新檢查器

  1. 下載更新檢查器。
  2. plugin-update-checker目錄移動到插件的目錄。
  3. 將以下代碼添加到您的主插件文件中:要求 ‘ path / to / plugin-update-checker / plugin-update-checker.php ‘ ; $ MyUpdateChecker = Puc_v4_Factory :: buildUpdateChecker( ‘ http://example.com/wp-update-server/?action=get_metadata&slug=plugin-directory-name ‘,//元數據URL。__FILE__,//完整路徑主要插件文件。“插件目錄名” //插件塞通常是一樣的目錄的名稱。);
  4. 準備發布更新時,只需如上所述壓縮插件目錄,然后將其packages放在服務器的子目錄中即可(覆蓋以前的版本)。

默認情況下,磁帶庫每天檢查兩次更新。如果更新檢查器發現有新版本可用,它將在WordPress儀表板中顯示更新通知,并且用戶將能夠通過單擊“立即升級”鏈接進行安裝。從用戶的角度來看,它就像在WordPress.org上托管的插件一樣。

請參閱更新檢查器文檔以獲取詳細的使用說明和更多示例。

私人和商業插件的自動更新

提示:readme.txt為插件創建文件。如果有的話,更新服務器將使用它來生成插件信息頁面,當用戶單擊更新通知中的“查看版本xyz詳細信息”鏈接時,該頁面將顯示。自述文件必須符合WordPress.org自述文件標準

注意:您的插件或主題必須處于活動狀態才能進行更新。這樣的結果是,在多站點安裝中,僅當您的插件在主站點上處于活動狀態時才會顯示更新。這是因為只有在主站點上啟用的插件才會加載到網絡管理員中。作為參考,主站點是在“?所有站點”列表中具有路徑“ /”的站點

與主題整合

  1. 下載主題更新檢查器庫。

私人和商業插件的自動更新

  1. theme-updates目錄放在您的目錄includes或等效目錄中。
  2. 將此代碼段添加到您的functions.php
require 'path/to/theme-updates/theme-update-checker.php';
$MyThemeUpdateChecker = new ThemeUpdateChecker(
	'theme-directory-name', //Theme slug. Usually the same as the name of its directory.
	'http://example.com/wp-update-server/?action=get_metadata&slug=theme-directory-name' //Metadata URL.
);
  1. Details URI標頭添加到您的style.cssDetails URI: http://example.com/my-theme-changelog.html該標題指定用戶單擊更新通知中的“查看版本xyz詳細信息”鏈接后將看到的頁面。將其設置為“版本zyz的新功能”頁面或主題主頁的URL。

與插件更新一樣,主題更新檢查器將每12小時向服務器查詢主題詳細信息,并在WordPress儀表板中顯示更新通知(如果有可用的新版本)。

有關更多信息,請參見主題更新檢查器文檔。

私人和商業插件的自動更新

更新:該插件更新檢查程序庫現在還支持主題更新。舊的主題更新檢查器不再有效維護。

插件更新檢查器

進階主題

記錄中

服務器將所有API請求記錄到該/logs/request.log文件。每行代表一個請求,其格式如下:

[timestamp] IP_address	action	slug	installed_version	wordpress_version	site_url	query_string

缺少或不適用的字段將替換為破折號“-”。記錄器從WordPress添加到通過HTTP API發送的所有請求的“ User-Agent”標頭中提取WordPress版本和站點URL。如果您通過瀏覽器發出API請求,或者標題被插件刪除或覆蓋(某些安全插件會這樣做),則這些字段將不存在。

擴展服務器

若要自定義更新服務器的工作方式,請創建擴展Wpup_UpdateServer的自己的服務器類,并編輯init腳本(即index.php如果您將服務器作為獨立應用程序運行)以加載和使用新類。

例如,讓我們做一個簡單的修改,即禁用下載并從更新API返回的插件詳細信息中刪除下載URL。這可以用作需要授權才能下載更新的自定義服務器的基礎。

將新文件添加MyCustomServer.phpwp-update-server

class MyCustomServer extends Wpup_UpdateServer {
	protected function filterMetadata($meta, $request) {
		$meta = parent::filterMetadata($meta, $request);
		unset($meta['download_url']);
		return $meta;
	}
	
	protected function actionDownload(Wpup_Request $request) {
		$this->exitWithError('Downloads are disabled.', 403);
	}
}

編輯index.php以使用新類:

require __DIR__ . '/loader.php';
require __DIR__ . '/MyCustomServer.php';
$server = new MyCustomServer();
$server->handleRequest();

從另一個腳本運行服務器

雖然使用更新服務器的最簡單方法是將其作為獨立的應用程序運行,但這并不是唯一的方法。如果需要,還可以將其作為第三方庫加載并創建自己的服務器實例。這樣,您就可以在將查詢參數傳遞到服務器之前對其進行過濾和修改,通過WordPress插件運行它,使用自己的服務器類,等等。

要從您自己的應用程序運行服務器,您需要做三件事:

  1. 包括/wp-update-server/loader.php
  2. 創建的實例Wpup_UpdateServer或擴展它的類。
  3. 調用handleRequest($queryParams)方法。

這是一個基本示例插件,可從WordPress內部運行更新服務器:

<?php
/*
Plugin Name: Plugin Update Server
Description: An example plugin that runs the update API.
Version: 1.0
Author: Yahnis Elsts
Author URI: http://w-shadow.com/
*/

require_once __DIR__ . '/path/to/wp-update-server/loader.php';

class ExamplePlugin {
	protected $updateServer;

	public function __construct() {
		$this->updateServer = new MyCustomServer(home_url('/'));
		
		//The "action" and "slug" query parameters are often used by the WordPress core
		//or other plugins, so lets use different parameter names to avoid conflict.
		add_filter('query_vars', array($this, 'addQueryVariables'));
		add_action('template_redirect', array($this, 'handleUpdateApiRequest'));
	}
	
	public function addQueryVariables($queryVariables) {
		$queryVariables = array_merge($queryVariables, array(
			'update_action',
			'update_slug',
		));
		return $queryVariables;
	}
	
	public function handleUpdateApiRequest() {
		if ( get_query_var('update_action') ) {
			$this->updateServer->handleRequest(array_merge($_GET, array(
				'action' => get_query_var('update_action'),
				'slug'   => get_query_var('update_slug'),
			)));
		}
	}
}

class MyCustomServer extends Wpup_UpdateServer {
    protected function generateDownloadUrl(Wpup_Package $package) {
        $query = array(
            'update_action' => 'download',
            'update_slug' => $package->slug,
        );
        return self::addQueryArg($query, $this->serverUrl);
    }
}

$examplePlugin = new ExamplePlugin();

注意:如果您打算在實踐中使用上述類似內容,則可能需要重寫Wpup_UpdateServer::generateDownloadUrl()以自定義URL或更改查詢參數。

保護下載鏈接

請參閱此博客文章,以獲取高層次的概述和一些簡短的示例。

插件更新:保護下載鏈接

分析工具

您可以使用wp-update-server-stats工具來解析服務器日志并顯示統計信息,例如活動安裝的數量,活動版本等。

從wp-update-server日志收集統計信息

來源于: https://github.com/YahnisElsts/wp-update-server

??
Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
?
購物車
優惠劵
搜索
久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    9000px;">

      欧洲在线免费视频| 性感美女视频一二三| 动漫精品一区二区三区| 在线观看不卡的av| 日韩精品国产一区二区| 久久国产精品影院| 国产精品久久久久久久久毛片 | 一区精品在线观看| 欧美一级一区二区三区| 免费不卡av网站| 91亚洲国产成人精品一区| 午夜毛片在线观看| 日本精品在线免费观看| 久久精品亚洲a| 韩国av永久免费| 国产人妻精品午夜福利免费| 一级特黄aa大片| 亚洲国产综合一区| 无限资源日本好片| 五月婷婷综合激情网| 天天插天天操天天射| 少妇又紧又色又爽又刺激视频| 青青草原播放器| 青青艹在线观看| 欧美一级在线免费观看 | 青娱乐在线视频免费观看| 久久中文字幕精品| 情侣偷拍对白清晰饥渴难耐| 草草视频在线播放| www天堂在线| 国产夫妻性生活视频| 国产成人精品综合久久久久99| av电影在线播放| www.99视频| 一级特黄性色生活片| 999久久久精品视频| av在线亚洲天堂| 国产v片在线观看| 国产欧美日韩另类| 九九久久免费视频| 欧美黄色免费在线观看| 日韩a一级欧美一级| 无码精品人妻一区二区| 中文av免费观看| 777一区二区| 国产成人啪精品午夜在线观看| 国产夫绿帽单男3p精品视频| 国产又爽又黄免费软件| 精品亚洲aⅴ无码一区二区三区| 久久视频一区二区三区| 日韩一区二区a片免费观看| 可以免费看av的网址| 青青国产在线观看| 无码人妻av免费一区二区三区 | 日本护士做爰视频| 小毛片在线观看| 亚洲色图 在线视频| 不卡视频在线播放| www.激情五月| 丰满熟女人妻一区二区三区| 国产精品一级视频| 欧美成人精品网站| 五月婷在线视频| 一级特黄aaa大片| 激情 小说 亚洲 图片: 伦| 欧美 日韩 精品| 一区二区三区在线观看免费视频| 亚洲午夜精品久久久| 国产精品丝袜黑色高跟鞋| 久久一区二区三| 亚洲 精品 综合 精品 自拍| 99精品全国免费观看| 国精品人妻无码一区二区三区喝尿 | 在线观看av日韩| 丰满岳乱妇国产精品一区| 久久久久99精品成人片试看| 天天操天天干天天操天天干| 91久久精品国产91性色69| 精品少妇一二三区| 午夜三级在线观看| 波多野结衣不卡| 青青草精品在线视频| 一级片在线免费观看视频| 国产在线一区视频| 午夜激情福利网| av av在线| 日本一级特级毛片视频| 亚洲女人久久久| 九九视频免费在线观看| 亚洲成a人片在线www| 国产青青草视频| 天天摸天天舔天天操| 丰满熟女人妻一区二区三区| 色婷婷综合网站| www.四虎在线| 三叶草欧洲码在线| 丁香六月色婷婷| 天堂中文字幕在线观看| 国产1区在线观看| 婷婷六月天在线| 国产九九热视频| 午夜精品免费观看| 国产日本精品视频| 在线观看亚洲天堂| 久久福利免费视频| 亚洲欧美一二三区| 女人18毛片水真多18精品| 91精品国产色综合久久不8| 欧美精品xxxxx| 不卡的一区二区| 午夜在线观看一区| 国产美女免费看| 中国特级黄色片| 欧美高清视频一区二区三区| 91在线第一页| 特黄视频免费看| 黄色一级视频免费观看| 亚洲一区精品视频在线观看| 欧美一区二区激情视频| 高清毛片aaaaaaaaa片| 香蕉视频免费在线看| 久久久久亚洲av成人片| 91美女精品网站| 五月天综合视频| 久久久久久成人网| 99久久久免费精品| 亚洲成人av综合| 欧美成人另类视频| 韩国av电影在线观看| 一道本无吗一区| 午夜精品在线免费观看| 久久久久亚洲av无码网站| 成人高潮免费视频| 亚洲国产www| 少妇按摩一区二区三区| 蜜桃av免费看| 国产农村妇女精品一区| 91传媒免费观看| 伊人网伊人影院| 日韩精品成人免费观看视频| 精品视频一二三区| 国产成人av免费看| 一级特黄aaa大片| 亚洲精品mv在线观看| 五月天视频在线观看| 欧美精品一区二区成人| 精品美女久久久久| 国产123在线| av av片在线看| 18禁一区二区三区| 中文字幕在线播放一区| 五月婷婷六月合| 熟妇人妻系列aⅴ无码专区友真希| 久久精品无码一区| 国产中文字幕久久| 国产精品久久久久久亚洲色| 99久久精品国产亚洲| 夜夜躁日日躁狠狠久久av| 亚洲黄色av网址| 日韩熟女精品一区二区三区| 精品黑人一区二区三区在线观看| 99久久婷婷国产一区二区三区 | 欧美性猛交xxxx乱| 精品丰满少妇一区二区三区| 国产福利短视频| 国产对白videos麻豆高潮| www.这里只有精品| a级大片免费看| 999久久久久久| 中文字幕在线视频精品| 香港三日本三级少妇66| 婷婷丁香综合网| 一区二区三区亚洲视频| 在线免费观看成年人视频| 中文字幕一区二区三区四区免费看 | 销魂美女一区二区| 国产成人自拍网站| 亚洲一级片在线播放| 亚洲精品一区二区三区影院忠贞| 在线 丝袜 欧美 日韩 制服| 亚洲福利在线观看视频| 正在播放亚洲精品| 亚洲国产精品成人无久久精品| 亚洲精品国产精品乱码在线观看| 中文字幕在线观看精品| 亚洲欧美色图视频| 91禁男男在线观看| 风间由美一二三区av片| 国产亚洲精品女人久久久久久| 韩国一区二区在线播放| 久久激情免费视频| 欧美一级片在线视频| 天堂а√在线中文在线新版| 婷婷丁香一区二区三区| 中文字幕无码乱码人妻日韩精品| 亚洲日本韩国在线| 高清一区二区视频| 精品人妻一区二区三| 蜜臀av午夜精品| 无码精品人妻一区二区|