功能
wordpress定时发布《每天60秒读懂世界每日自动更新一篇文章》定时采集引蜘蛛 可达到分钟级收录,设置定时任务后,访问该文件即可自动创建分类,自动截图并发布当日60的文章。
配置
1.把代码保存为60s.php
2.放到网站根目录
3.修改33行的链接为个人网站链接即可
4.在宝塔面板设置定时任务访问:www.xxxx.com/60s.php,xxxx为你的网址,当然你没用宝塔也可以尝试其它方法来定时发布。(看截图)
5.下面的代码是昨天仔细研究wordpress文章相关表和字段后完成的是利用知乎的API,经测试凌晨1点新内容发布成功!现在免费分享给大家!
<?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="https://www.cnzzzj.com/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, ",")); }
如果创建分类后在前台页面点击分类不显示分类下的文章,需要在后台随便找个分类重新编辑保存下分类即可。(不需要修改内容)
完成!通过定时任务每天会自动发布一篇最新的《每天60秒读懂世界》相关内容!可以点击来立即执行任务,然后查看您的文章列表中是否新增了今天的每日60秒。
此代码会在根目录下创建名称为60s的目录用于存放图片。
演示地址:
文章声明:
1、本站文章来源于互联网,仅供学习交流参考使用,严禁用于商业用途,因此造成的一切法律后果自行承担。
2、本站不对文章内容的完整性和安全性负责,请自行辨别,如发现有问题,请及时联系我们进行处理。
3、如果你有比较好的文章需要发布,可以联系站长屋VPS小编,或者自行点击 投稿。
4、若文章中有侵权或不适当内容,请告知我们,本站会第一时间进行处理。 免责申明。
1、本站文章来源于互联网,仅供学习交流参考使用,严禁用于商业用途,因此造成的一切法律后果自行承担。
2、本站不对文章内容的完整性和安全性负责,请自行辨别,如发现有问题,请及时联系我们进行处理。
3、如果你有比较好的文章需要发布,可以联系站长屋VPS小编,或者自行点击 投稿。
4、若文章中有侵权或不适当内容,请告知我们,本站会第一时间进行处理。 免责申明。
评论