首页 > 其他分享 >给WordPress设置自动发布每日60秒文章

给WordPress设置自动发布每日60秒文章

时间:2023-09-14 22:02:07浏览次数:35  
标签:content term taxonomy 文章 60 WordPress wpdb post id

应大家需求,出一个 wp 自动发布每日 60 秒读懂世界文章的教程.

1.复制下方的 php 代码

<?php
$date = file_get_contents("https://www.zhihu.com/api/v4/columns/c_1261258401923026944/items");
$date = json_decode($date);
$content = $date->data[0]->content;
$content = preg_replace('/(<a.*?>[\s\S]*?<\/a>)/','',$content);
$pattern ='<img.*?src="(.*?)">';
preg_match($pattern,$content,$matches);
$src_path = $matches[1];
$src = imagecreatefromstring(file_get_contents($src_path));
$info = getimagesize($src_path);
// 裁剪开区域左上角的点的坐标
$x = 0;
$y = 0;
// 裁剪区域的宽和高
$width = 720;
$height = 350;
// 最终保存成图片的宽和高,和源要等比例,否则会变形
$final_width = 720;
$final_height = round($final_width * $height / $width);
// 将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升
$new_image = imagecreatetruecolor($final_width, $final_height);
imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);
$ext = pathinfo($src_path, PATHINFO_EXTENSION);
$rand_name = date("Ymd") . "." . $ext;
// 创建文件夹保存图片
if (!file_exists("60s")){mkdir ("60s",0777,true);
}
imagejpeg($new_image,"60s/".$rand_name);
imagedestroy($src);
imagedestroy($new_image);
$content = strip_tags($content,'<p>');
$content = '<img class="size-full wp-image-156 aligncenter"src=" 你的网站 /60s/'.$rand_name.'" alt=""width="720"height="350"/>'.$content;
require __DIR__ . '/wp-config.php';
global $wpdb;
date_default_timezone_set('PRC');
$post_tag_arr = array();
// 先检查文章分类是否存在
$term_taxonomy_id = $wpdb->get_row("SELECT tt.term_taxonomy_id from $wpdb->terms t join $wpdb->term_taxonomy tt on t.term_id = tt.term_id where t.name =' 每天 60 秒读懂世界 'and tt.taxonomy ='category' ")->term_taxonomy_id;
if (!$term_taxonomy_id) {$wpdb->query("insert into $wpdb->terms (name,slug,term_group)VALUES(' 每天 60 秒读懂世界 ','60miao','0')");
$category_id = $wpdb->insert_id;
$wpdb->query("insert into $wpdb->term_taxonomy (term_id,taxonomy,description,parent,count)VALUES($category_id,'category','','0','1')");
$term_taxonomy_id = $wpdb->insert_id;
}
$post_tag_arr[] = $term_taxonomy_id;
 
$html = $content;
 
// 标题
$title = $date->data[0]->title;
// 标题存在则不插入
$posts = $wpdb->get_row("SELECT id from $wpdb->posts where post_title ='$title' ");
if (!$posts) {$now = current_time('mysql');
$now_gmt = current_time('mysql', 1);
$wpdb->insert(
$wpdb->posts,
array(
'post_author' => 1,
'post_date' => $now,
'post_date_gmt' => $now_gmt,
'post_content' => $html,
'post_title' => $title,
'post_excerpt' => '','post_status'=>'publish','comment_status'=>'open','ping_status'=>'open','post_password'=>'',
'post_name' => $title,
'to_ping' => '','pinged'=>'',
'post_modified' => $now,
'post_modified_gmt' => $now_gmt,
'post_content_filtered' => '','post_parent'=>'0','guid'=>'',// 文章链接 插入后修改
'menu_order' => '0',
'post_type' => 'post',
'post_mime_type' => '','comment_count'=>'0',
 
)
);
$insertid = $wpdb->insert_id;
$post_guid = get_option('home') . '/?p=' . $insertid;
$wpdb->query("UPDATE $wpdb->posts SET guid=$post_guid where id = $insertid");
 
// 插入文章和分类、标签、专题的关系
$sql = "INSERT INTO $wpdb->term_relationships (object_id,term_taxonomy_id,term_order) VALUES";
foreach ($post_tag_arr as $key => $value) {$sql .= "($insertid, $value,'0'),";
}
$wpdb->query(rtrim($sql, ","));
 
}

2. 去到网站的根目录新建 PHP 文件,粘贴刚刚复制的代码文件名命名 60s

3. 修改刚刚代码中第 33 行的地址,改成自己站点的地址

4. 在宝塔后台设置定时访问的任务:你网站 /60s.php

标签:content,term,taxonomy,文章,60,WordPress,wpdb,post,id
From: https://www.cnblogs.com/HOMIEBlog/p/17703601.html

相关文章

  • 『题解』P6055
    给出\(N\),求:\[\sum_{i=1}^N\sum_{j=1}^N\sum_{p=1}^{\lfloor\frac{N}{j}\rfloor}\sum_{q=1}^{\lfloor\frac{N}{j}\rfloor}[\gcd(i,j)=1][\gcd(p,q)=1].\]考虑化简。存在一个性质,但是我当时推的时候忘记了。即:\[\sum_{i=1}^N\sum_{j=1}^N\su......
  • 360安全研究二面
    360安全研究二面现在能力方向和想要发展的方向?我看你有挖SRC的漏洞,你可以说一个比较重要比较特别的漏洞吗?防火墙的相关内容?并发漏洞又挖过吗?知道如何进行防护吗?域渗透学的多吗?APP渗透是抓包吗还是说逆向方面?我这边没什么问题了,你还有什么想问的吗?......
  • 最好的方法引用文章【转载】
    https://developer.aliyun.com/article/1324717?spm=a2c6h.12873639.article-detail.19.3b172f69wPEsWfhttps://developer.aliyun.com/article/1315631 简介: Java方法四种引用1Java的四种引用,强弱软虚1.1强引用强引用是平常中使用最多的引用,强引用在程序内存不......
  • 如何写出高质量的文章:从战略到战术
    目录一、背景1.1写作背景借着这个机会,对“如何写出高质量的文章”这个话题进行系统性思考,在这里进行分享,希望对大家写作有帮助。1.2写作经历目前主要作品有:剖析《阿里巴巴Java开发手册》、《EffectiveJava》独家解析、《性能优化方法论》、《Java校招求职如何拿大厂Offe......
  • 数字孪生的实用性为何饱受质疑?这篇文章为你解答
    数字孪生技术的实用性体现在哪?数字孪生技术不仅是当今科技领域的热点,也是各行各业不断探索和应用的新兴领域。这项技术的实用性在于它的多领域适用性和巨大潜力。然而,目前有许多声音认为数字孪生技术是一项“没用”的技术,仅仅只是为了迎合领导而诞生的一项“花瓶”技术。那么实际......
  • 苹果再发“黑科技”,合合信息扫描全能王新功能支持“360度立体式建模”
    9月13日凌晨,搭载iOS17正式版系统的iPhone15系列新品正式发布。基于iPhone激光雷达、iOS17系统,合合信息旗下扫描全能王新推出“物体扫描”功能,用户只需使用手机环绕目标物体扫描,便可实时进行3D建模,完成一次“360度立体扫描”。该功能将于9月20日iOS17系统更新后正式开放体验。......
  • 【超详细】宝塔面板安装WordPress程序图文教程
    宝塔面板是目前广受用户喜爱的服务器控制面板之一,自己也在用,确实很方便,很多用户的网站都是基于宝塔面板搭建,今天简单介绍下宝塔面板是如何安装WordPress的,方便新手用户快速部署。也方便自己以后查阅。一、安装宝塔插件大部分使用宝塔面板的用户可能还不知道在宝塔插件里面有一个......
  • Helm CLI部署wordpress到ACK集群
    wgethttps://labfileapp.oss-cn-hangzhou.aliyuncs.com/helm-v3.9.0-linux-amd64.tar.gztar-zxvfhelm-v3.9.0-linux-amd64.tar.gzmvlinux-amd64/helm/usr/local/bin/helmhelmrepoaddbitnamihttps://charts.bitnami.com/bitnamihelminstallwordpressbitnami/wo......
  • 一篇文章让你弄懂分布式一致性协议Paxos
    一、Paxos协议简介Paxos算法由LeslieLamport在1990年提出,它是少数在工程实践中被证实的强一致性、高可用、去中心的分布式协议。Paxos协议用于在多个副本之间在有限时间内对某个决议达成共识。Paxos协议运行在允许消息重复、丢失、延迟或乱序,但没有拜占庭式错误的网络环境中,它利......
  • x86 Linux 下实现 10us 误差的高精度延时 | 软件开发 转载文章
    在Linux下实现高精度延时,网上所能找到的大部分方法只能实现50us左右的延时精度。https://mp.weixin.qq.com/s/H6TRsSAcQPGgX03rfsbxGQ作者:董文会(本文字数:4554,阅读时长大约:7分钟)在Linux下实现高精度延时,网上所能找到的大部分方法只能实现50us左右的延时精度。今天让......