目錄
typecho插件编写教程(五):核心代码
首頁 後端開發 php教程 typecho插件编写教程(五):核心代码_PHP教程

typecho插件编写教程(五):核心代码_PHP教程

Jul 13, 2016 am 09:52 AM
typecho 主要 程式碼 外掛 教學 文章 核心 編寫

typecho插件编写教程(五):核心代码

   这篇文章主要介绍了typecho插件编写教程(五):核心代码,本文讲解了完整的插件核心代码的示例,需要的朋友可以参考下

  之前啰嗦了很多,现在开始写核心代码。

  分析一下,发布文章的时候,我们需要的信息就是当前文章的URL,我们需要想办法从$contents、 $class中拿到他。

  目前我们的插件类代码如下(请注意render被我改成了send)

  代码如下:

  class BaiduSubmitTest_Plugin implements Typecho_Plugin_Interface

  {

  public static function activate(){

  //挂载发布文章和页面的接口

  Typecho_Plugin::factory('Widget_Contents_Post_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');

  Typecho_Plugin::factory('Widget_Contents_Page_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');

  return '插件安装成功,请进入设置填写准入密钥';

  }

  public static function deactivate(){

  // do something

  return '插件卸载成功';

  }

  public static function config(Typecho_Widget_Helper_Form $form){

  $element = new Typecho_Widget_Helper_Form_Element_Text('api', null, null, _t('准入秘钥'), '请登录百度站长平台获取');

  $form->addInput($element);

  }

  public static function personalConfig(Typecho_Widget_Helper_Form $form){}

  public static function send($contents, $class){

  //do something

  }

  }

  获取URL

  获取永久链接需要通过路由规则 + Typecho_Common::url 联合生成!

  复制代码 代码如下:

  class BaiduSubmitTest_Plugin implements Typecho_Plugin_Interface

  {

  public static function activate(){

  //挂载发布文章和页面的接口

  Typecho_Plugin::factory('Widget_Contents_Post_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');

  Typecho_Plugin::factory('Widget_Contents_Page_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');

  return '插件安装成功,请进入设置填写准入密钥';

  }

  public static function deactivate(){

  // do something

  return '插件卸载成功';

  }

  public static function config(Typecho_Widget_Helper_Form $form){

  //保存接口调用地址

  $element = new Typecho_Widget_Helper_Form_Element_Text('api', null, null, _t('接口调用地址'), '请登录百度站长平台获取');

  $form->addInput($element);

  }

  public static function personalConfig(Typecho_Widget_Helper_Form $form){}

  /**

  * 准备数据

  * @param $contents 文章内容

  * @param $class 调用接口的类

  * @throws Typecho_Plugin_Exception

  */

  public static function send($contents, $class){

  //如果文章属性为隐藏或滞后发布

  if( 'publish' != $contents['visibility'] || $contents['created'] > time()){

  return;

  }

  //获取系统配置

  $options = Helper::options();

  //判断是否配置好API

  if( is_null($options->plugin('BaiduSubmitTest')->api) ){

  return;

  }

  //获取文章类型

  $type = $contents['type'];

  //获取路由信息

  $routeExists = (NULL != Typecho_Router::get($type));

  //生成永久连接

  $path_info = $routeExists ? Typecho_Router::url($type, $contents) : '#';

  $permalink = Typecho_Common::url($path_info, $options->index);

  }

  }

  代码中有注释,老高就不在赘述了。

  至此我们已经拿到了文章的永久链接,下一步就是给百度服务器发送数据了!

  本节完!

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1007645.htmlTechArticletypecho插件编写教程(五):核心代码 这篇文章主要介绍了typecho插件编写教程(五):核心代码,本文讲解了完整的插件核心代码的示例,需要的...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

得物使用教程 得物使用教程 Mar 21, 2024 pm 01:40 PM

得物APP是當前十分火爆品牌購物的軟體,但是多數的用戶不知道得物APP中功能如何的使用,下方會整理最詳細的使用教程攻略,接下來就是小編為用戶帶來的得物多功能使用教學匯總,有興趣的用戶快來一起看看吧!得物使用教學【2024-03-20】得物分期購怎麼使用【2024-03-20】得物優惠券怎麼獲得【2024-03-20】得物人工客服怎麼找【2024-03-20】得物取件碼怎麼查看【2024-03-20】得物求購在哪裡看【2024-03-20】得物vip怎麼開【2024-03-20】得物怎麼申請退換貨

分享Edge瀏覽器不支援此外掛程式的三種解決方法 分享Edge瀏覽器不支援此外掛程式的三種解決方法 Mar 13, 2024 pm 04:34 PM

  用戶使用Edge瀏覽器的過程中可能會添加一些插件來滿足自己更多的使用需求。但是在添加插件時顯示不支援此插件,這該如何解決?今日小編就來給大家分享三種解決方法,快來試試看。  方法一:嘗試用其他的瀏覽器。  方法二:瀏覽器上的FlashPlayer可能過時或遺失,導致此外掛程式不受支援狀態,可在官網下載最新版本。  方法三:同時按下「Ctrl+Shift+Delete」鍵。  點選“清除資料”,重新開啟瀏覽器即可。

今日頭條發布文章怎麼有收益?今日頭條發布文章獲得更多收益方法! 今日頭條發布文章怎麼有收益?今日頭條發布文章獲得更多收益方法! Mar 15, 2024 pm 04:13 PM

一、今日頭條發布文章怎麼有收益?今日頭條發布文章獲得更多收益方法! 1.開通基礎權益:原創文章選擇投放廣告可獲得收益,影片必須原創橫屏才會有收益。 2.開通百粉權益:粉絲量達百粉以上,微頭條、原創問答創作及問答均可獲得收益。 3.堅持原創作品:原創作品包含文章、微標題及問題等,要求300字以上。注意違規抄襲作品作為原創發布,會被扣信用分,即使有收益也會被扣除。 4.垂直度:做專業領域一類的文章,不能隨意跨領域寫文章,會得不到合適的推薦,達不到作品的專和精,難以吸引粉絲讀者。 5.活躍度:活躍度高,

夏天,一定要試試拍攝彩虹 夏天,一定要試試拍攝彩虹 Jul 21, 2024 pm 05:16 PM

夏天雨後,常常能見到美麗又神奇的特殊天氣景象-彩虹。這也是攝影中可遇而不可求的難得景象,非常出片。彩虹出現有這樣幾個條件:一是空氣中有充足的水滴,二是太陽以較低的角度照射。所以下午雨過天晴後的一段時間內,是最容易看到彩虹的時候。不過彩虹的形成受天氣、光線等條件的影響較大,因此一般只會持續一小段時間,而最佳觀賞、拍攝時間更為短暫。那麼遇到彩虹,怎樣才能合理地記錄下來並拍出質感呢? 1.尋找彩虹除了上面提到的條件外,彩虹通常出現在陽光照射的方向,即如果太陽由西向東照射,彩虹更有可能出現在東

如何使用Copilot產生程式碼 如何使用Copilot產生程式碼 Mar 23, 2024 am 10:41 AM

身為一名程式設計師,對於能夠簡化程式設計體驗的工具,我感到非常興奮。借助人工智慧工具的幫助,我們可以產生演示程式碼,並根據需求進行必要的修改。在VisualStudioCode中新引入的Copilot工具讓我們能夠創建具有自然語言聊天互動的AI生成程式碼。透過解釋功能,我們可以更好地理解現有程式碼的含義。如何使用Copilot產生程式碼?要開始,我們首先需要取得最新的PowerPlatformTools擴充。要實現這一點,你需要進入擴充頁面,搜尋“PowerPlatformTool”,然後點擊Install按鈕

photoshopcs5是什麼軟體? -photoshopcs5使用教學課程 photoshopcs5是什麼軟體? -photoshopcs5使用教學課程 Mar 19, 2024 am 09:04 AM

PhotoshopCS是PhotoshopCreativeSuite的縮寫,由Adobe公司出品的軟體,被廣泛用於平面設計和圖像處理,作為新手學習PS,今天就讓小編為您解答一下photoshopcs5是什麼軟體以及photoshopcs5使用教程。一、photoshopcs5是什麼軟體AdobePhotoshopCS5Extended是電影、視訊和多媒體領域的專業人士,使用3D和動畫的圖形和Web設計人員,以及工程和科學領域的專業人士的理想選擇。呈現3D影像並將它合併到2D複合影像中。輕鬆編輯視

微信關收款聲音的步驟教程 微信關收款聲音的步驟教程 Mar 26, 2024 am 08:30 AM

1.首先打開微信。 2.點選右上角【+】。 3.點選二維碼收款。 4.點擊右上角三個小點。 5.點選關閉收款到帳語音提醒。

專家教你!華為手機截長圖的正確方法 專家教你!華為手機截長圖的正確方法 Mar 22, 2024 pm 12:21 PM

隨著智慧型手機的不斷發展,手機的功能也變得越來越強大,其中截長圖功能成為了許多用戶日常使用的重要功能之一。截長圖可以幫助使用者將較長的網頁、對話記錄或圖片一次儲存下來,方便查閱和分享。而在眾多手機品牌中,華為手機也是備受用戶推崇的一款品牌之一,其截長圖功能也備受好評。本文將為大家介紹華為手機截長圖的正確方法,以及一些專家技巧,幫助大家更好地利用華為手機的

See all articles