検索
ホームページバックエンド開発PHPチュートリアルTypechoプラグイン作成チュートリアル(5):コアコード、typechoプラグイン_PHPチュートリアル

Typecho プラグイン作成チュートリアル (5): コア コード、Typecho プラグイン

以前は冗長でしたが、ここでコア コードを書き始めます。

分析すると、記事を公開するときに必要な情報は現在の記事の URL であり、それを $contents と $class から取得する方法を見つける必要があります。

現在のプラグインクラスコードは次のとおりです(レンダリングを送信に変更していることに注意してください)

コードをコピーします コードは次のとおりです:
クラス BaiduSubmitTest_Plugin は Typecho_Plugin_Interface を実装します
{

パブリック静的関数 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 'プラグインは正常にインストールされました。設定を入力し、アクセス キーを入力してください';
}

パブリック静的関数 deactivate(){
// 何かをする
return 'プラグインは正常にアンインストールされました';
}

public static function config(Typecho_Widget_Helper_Form $form){
$element = new Typecho_Widget_Helper_Form_Element_Text('api', null, null, _t('Access Key'), '取得するには、Baidu ウェブマスター プラットフォームにログインしてください');
$form->addInput($element);
}

パブリック静的関数personalConfig(Typecho_Widget_Helper_Form $form){}

パブリック静的関数 send($contents, $class){
//何かする
}
}

URLを取得

永久リンクを取得するには、ルーティング ルール + Typecho_Common::url を通じて生成する必要があります。

コードをコピーします コードは次のとおりです:
クラス BaiduSubmitTest_Plugin は Typecho_Plugin_Interface を実装します
{

パブリック静的関数 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 'プラグインは正常にインストールされました。設定を入力し、アクセス キーを入力してください';
}

パブリック静的関数 deactivate(){
// 何かをする
return 'プラグインは正常にアンインストールされました';
}

パブリック静的関数 config(Typecho_Widget_Helper_Form $form){
//インターフェース呼び出しアドレスを保存します
$element = new Typecho_Widget_Helper_Form_Element_Text('api', null, null, _t('インターフェイス呼び出しアドレス'), '取得するには、Baidu ウェブマスター プラットフォームにログインしてください');
$form->addInput($element);
}

パブリック静的関数personalConfig(Typecho_Widget_Helper_Form $form){}

/**
*データを準備します
* @param $content 記事の内容
* @param $class インターフェースを呼び出すクラス
* @throws Typecho_Plugin_Exception
​​*/
パブリック静的関数 send($contents, $class){

//記事属性が非表示または公開が遅れている場合
If( 'publish' != $contents['visibility'] || $contents['created'] > time()){
戻る;
}

// システム構成を取得する
$options = Helper::options();

// API が適切に設定されているかどうかを確認します
If( is_null($options->plugin('BaiduSubmitTest')->api) ){
戻る;
}

//記事タイプを取得する
$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);
}
}

コード内にコメントがあるので、詳細は説明しません。

これで記事の永久リンクを取得できました。次のステップは、データを Baidu サーバーに送信することです。

このセクションは終了です!

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1008004.html技術記事 Typecho プラグインの作成チュートリアル (5): コア コード Typecho プラグインはこれまで非常に冗長でしたが、ここでコア コードの作成を開始します。 分析後、記事を公開する際に必要な情報は...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
atom中 40+ 个常用插件推荐分享(附插件安装方法)atom中 40+ 个常用插件推荐分享(附插件安装方法)Dec 20, 2021 pm 04:14 PM

本篇文章给大家分享40+ 个atom常用插件,并附上在atom中安装插件的方法,希望对大家有所帮助!

vscode插件分享: 6个Vue3开发必备插件vscode插件分享: 6个Vue3开发必备插件Dec 09, 2022 pm 08:36 PM

本篇文章给大家整理分享 6 个 Vue3 开发必备的 VSCode 插件,可以直接用过 VSCode 的插件中心直接安装使用,希望对大家有所帮助!

2023年最新最全的VScode插件推荐2023年最新最全的VScode插件推荐Jan 24, 2023 am 05:30 AM

这篇文章主要介绍了这么多年来我在使用 VSCode 过程中用到的一些不错的插件。这些VSCode插件,帮你打造地表最强IDE!

【吐血总结】23个VSCode 插件,助你提高开发效率和美观性【吐血总结】23个VSCode 插件,助你提高开发效率和美观性Mar 10, 2022 pm 08:01 PM

本篇文章给大家总结了23个各种功能的VSCode 插件,可以帮助开发者提高开发效率和美观性,希望对大家有所帮助!

如何利用PHP和Typecho构建社交媒体网站如何利用PHP和Typecho构建社交媒体网站Jul 22, 2023 am 11:40 AM

如何利用PHP和Typecho构建社交媒体网站随着社交媒体的兴起,越来越多的人希望拥有一个属于自己的社交媒体网站。而搭建一个社交媒体网站的其中一种方式是使用PHP和Typecho这两个开源工具。PHP是一种被广泛应用于Web开发的脚本语言,而Typecho是一个小巧、易用、安全的博客系统,不仅功能强大,而且可以方便的进行二次开发。下面我将介绍如何使用PHP和

浏览器增强版ChatGPT无敌了?超强插件Monica,能聊能写效率Max浏览器增强版ChatGPT无敌了?超强插件Monica,能聊能写效率MaxMay 03, 2023 pm 06:58 PM

提起Monica,你会想到什么?是老友记里的主角之一Monica·Geller,一个热心肠的女主人形象;还是心跳文学部里的疯疯癫癫的Monika?或者,最近爆火的Chrome插件——Monica。它的功能实在是太强大了,用完一次保你爱不释手。毕竟,搭载了ChatGPT的网页助手,能是俗物吗?Monica功能大赏首先明确一点,Monica是ChatGPT在网页上的应用,换句话说,Monica就是靠着ChatGPTAPI的强大功能才厉害。而仔细看看Chrome商店中的介绍,我们就会发现Monica真

如何使用PHP和Typecho打造多语言支持的网站如何使用PHP和Typecho打造多语言支持的网站Jul 21, 2023 pm 11:21 PM

如何使用PHP和Typecho打造多语言支持的网站导语:随着全球化的发展,构建一个多语言支持的网站逐渐成为企业和个人所追求的目标。而PHP作为一种流行的编程语言,结合Typecho这一优秀的PHP开源博客程序,可以轻松实现多语言网站的搭建。本文将介绍如何使用PHP和Typecho来打造一个多语言支持的网站,并提供相关的代码示例。一、安装和配置Typecho首

30个实用VSCode 插件,让你的开发效率倍增!30个实用VSCode 插件,让你的开发效率倍增!Apr 24, 2022 pm 09:12 PM

本篇文章给大家总结分享30个实用VSCode 插件,让你的日常开发工作效率倍增,希望对大家有所帮助!

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境