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

插件设计代码:

代码语言:javascript
复制
<?php 
/**
 * 百度站长工具 链接提交
 * 发布、更新文章后,自动提交百度链接更新
 * 详情请查看 http://dwz.cn/265Rcs
 * 
 * @package BaiduLinkSubmit 
 * @author 朱纯树
 * @version 1.0.0
 * @link https://sirblog.cn
 */
class BaiduLinkSubmit 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');
        return _t('请设置 <b>站点域名</b> 和 <b>密钥</b>');
    }
/* 禁用插件方法 */
public static function deactivate(){}
 
/* 插件配置方法 */
public static function config(Typecho_Widget_Helper_Form $form){
    preg_match(&#34;/^(http(s)?:\/\/)?([^\/]+)/i&#34;, Helper::options()-&gt;siteUrl, $matches);
    $domain = $matches[2] ? $matches[2] : &#39;&#39;;
    $site = new Typecho_Widget_Helper_Form_Element_Text(&#39;site&#39;, NULL, $domain, _t(&#39;站点域名&#39;), _t(&#39;站长工具中添加的域名&#39;));
    $form-&gt;addInput($site-&gt;addRule(&#39;required&#39;, _t(&#39;请填写站点域名&#39;)));

    $token = new Typecho_Widget_Helper_Form_Element_Text(&#39;token&#39;, NULL, &#39;&#39;, _t(&#39;准入密钥&#39;), _t(&#39;更新密钥后,请同步修改此处密钥,否则身份校验不通过将导致数据发送失败。&#39;));
    $form-&gt;addInput($token-&gt;addRule(&#39;required&#39;, _t(&#39;请填写准入密钥&#39;)));
}
 
/* 个人用户的配置方法 */
public static function personalConfig(Typecho_Widget_Helper_Form $form){}
 
/* 插件实现方法 */
public static function render($contents, $widget){
    $options = Helper::options();
    $site = $options-&gt;plugin(__CLASS__)-&gt;site;
    $token = $options-&gt;plugin(__CLASS__)-&gt;token;
    
    $urls = array( $widget-&gt;permalink );
    $api = sprintf(&#39;http://data.zz.baidu.com/urls?site=%s&amp;token=%s&#39;, $site, $token);

    $client = Typecho_Http_Client::get();
    if ($client) {
        $client-&gt;setData( implode(PHP_EOL, $urls ) )
            -&gt;setHeader(&#39;Content-Type&#39;, &#39;text/plain&#39;)
            -&gt;setTimeout(30)
            -&gt;send($api);

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

}

下载地址:

此处内容需要评论回复后(审核通过)方可阅读。

插件上传解压到插件文件夹plugins,填入域名和token密匙即可

如果你需要神马自动推送插件,请阅读下面的文章

typecho 神马自动推送插件

插件设计代码:<?php /** * <strong style="color:red;...