前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >typecho 神马自动推送插件

typecho 神马自动推送插件

作者头像
Inkedus
发布2020-04-16 15:48:56
1.5K1
发布2020-04-16 15:48:56
举报
文章被收录于专栏:InkedusInkedus

插件设计代码:

代码语言:javascript
复制
<?php 
/**
 * <strong style="color:red;">神马站长工具 链接提交插件</strong>
 * 发布、更新文章后,自动提交神马链接更新
 * 
 * @package smLinkSubmit 
 * @author 朱纯树
 * @version 1.0.0
 * @link https://sirblog.cn
 */
class smLinkSubmit implements Typecho_Plugin_Interface {
    /* 激活插件方法 */
    public static function activate(){
        Typecho_Plugin::factory('Widget_Contents_Post_Edit')->finishPublish = array(__CLASS__, 'render');
        Typecho_Plugin::factory('Widget_Contents_Page_Edit')->finishPublish = array(__CLASS__, 'render');
        Typecho_Plugin::factory('Widget_Contents_Page_Edit')->finishPublish = array(__CLASS__, 'render');
        return _t('请设置 <b>站点域名</b>用户名 和 <b>密钥</b>');
    }
     
    /* 禁用插件方法 */
    public static function deactivate(){}
     
    /* 插件配置方法 */
    public static function config(Typecho_Widget_Helper_Form $form){
        preg_match("/^(http(s)?:\/\/)?([^\/]+)/i", Helper::options()->siteUrl, $matches);
        $domain = $matches[2] ? $matches[2] : '';
        $site = new Typecho_Widget_Helper_Form_Element_Text('site', NULL, $domain, _t('站点域名'), _t('站长工具中添加的域名'));
        $form->addInput($site->addRule('required', _t('请填写站点域名')));

        $token = new Typecho_Widget_Helper_Form_Element_Text('token', NULL, '', _t('准入密钥'), _t('更新密钥后,请同步修改此处密钥,否则身份校验不通过将导致数据发送失败。'));
        $form->addInput($token->addRule('required', _t('请填写准入密钥')));
        $username = new Typecho_Widget_Helper_Form_Element_Text('username', NULL, '', _t('用户名'), _t('神马站长平台的用户名'));
        $form->addInput($username->addRule('required', _t('请填写神马站长平台用户名')));
    }
     
    /* 个人用户的配置方法 */
    public static function personalConfig(Typecho_Widget_Helper_Form $form){}
     
    /* 插件实现方法 */
    public static function render($contents, $widget){
        $options = Helper::options();
        $site = $options->plugin(__CLASS__)->site;
        $token = $options->plugin(__CLASS__)->token;
        $username = $options->plugin(__CLASS__)->username;
        $urls = array( $widget->permalink );
        $api = sprintf('http://data.zz.baidu.com/urls?site=%s&token=%s', $site, $token);
        $api = sprintf('http://data.zhanzhang.sm.cn/push?site=%s&user_name=%s&resource_name=mip_add&token=%s', $site,$username,$token);
        $client = Typecho_Http_Client::get();
        if ($client) {
            $client->setData( implode(PHP_EOL, $urls ) )
                ->setHeader('Content-Type', 'text/plain')
                ->setTimeout(30)
                ->send($api);

            $status = $client->getResponseStatus();
            $rs = $client->getResponseBody();
            return true;
        }
        return false;
    }   
}

使用方法

代码语言:txt
复制
         在你的网站根目录`/usr/plugins/` 目录下新建 `smLinkSubmit.php`文件 并把上面的代码填进去保存 

然后到网站后台->插件列表->启用 smLinkSubmit 并填写网站域名 神马站长平台密钥 神马站长平台账号后保存即可

代码语言:txt
复制
         下载 [smLinkSubmit.php](https://cdn2.sirblog.cn/zip/BaiduLinkSubmit.zip)文件上传到你的网站根目录`/usr/plugins/` 目录下

然后到网站后台->插件列表->启用 smLinkSubmit 并填写网站域名 神马站长平台密钥 神马站长平台账号后保存即可

如果你需要 typecho百度自动推送插件请查看下面这篇文章

typecho百度主动推送插件,利于SEO

插件设计代码:<?php /** * 百度站长工具 链接提交 * 发布、更新文章后,自动提交百度链接更...

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020 年 01 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 插件设计代码:
  • 使用方法
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档