解决typecho1.3 无法使用baidupush插件的方法

云小藏
2026-04-21 / 0 评论 / 7 阅读 / 正在检测是否收录...

Typecho 1.3 升级后,百度推送插件(GitHub地址:https://github.com/BXCQ/typecho-baidu-push)常出现启用失败、推送报错等问题,核心失败关键点及对应适配代码如下(仅列关键修改,直接复制替换即可):

一、核心失败关键点+对应适配代码

1. 关键点:插件未适配Typecho1.3的Widget调用规范

插件沿用旧版Widget调用写法,导致无法获取网站配置,适配代码(Plugin.php中2处均需修改):


// 原代码

$options = Typecho_Widget::widget('Widget_Options');

// 适配Typecho1.3修改后

$options = \typecho\widget::widget('Widget_Options');
2. 关键点:curl_close()函数不兼容PHP 8+(Typecho1.3推荐版本)

该函数在PHP 8+中已弃用,导致插件崩溃,适配代码:


// 原代码

curl_close($ch);

// 适配PHP 8+修改后

curl_reset($ch);
3. 关键点:$contents['pathinfo']字段已被Typecho1.3废弃

插件通过该字段获取文章路径,导致推送URL为空,适配代码:


// 原代码

$url = $options->siteUrl . $contents['pathinfo'];

// 适配Typecho1.3修改后

$url = $class->permalink;
4. 关键点:pushbatch函数里面 设置CURLOPT_URL 直接复制你的链接和token不要原来的变量

API接口配置错误会导致解析失败(常见报错:网页解析失败,可能是不支持的网页类型,请检查网页或稍后重试),正确配置代码(替换为自己的域名和Token):


  private function pushBatch($urls)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'http://data.zz.baidu.com/urls?site=你的域名&token=你的token');  //直接复制你的链接,不用变量

以上修改之后,发布文章,自动提交给百度收录成功。

自动提交成功

二、补充说明

以上代码均修改自插件核心文件Plugin.php,修改后需设置文件权限(chmod -R 755 BaiduPush/,chmod 666 日志和URL列表文件),启用插件并配置网站地址、百度Token即可正常使用。

SEO关键词

Typecho1.3 baidupush插件失效,Typecho1.3百度推送插件失败原因,Typecho1.3 baidupush适配,百度推送插件失败关键点,百度推送API报错解决

SEO描述

明确Typecho1.3无法使用百度推送插件的4个核心失败关键点,附带对应适配代码,同步解决百度API“网页解析失败”报错,帮助站长快速排查并解决插件失效问题。

0

评论 (0)

取消