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 サーバーに送信することです。
このセクションは終了です!

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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

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

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
