WordPress多站点发布文章同步,API实现一篇文章发布多个平台(同栏目)
具体思路:在另一个 WordPress 站点创建一个API,文章发布时用cURL模拟 POST 请求 API 利用wp_insert_post()函数来创建文章。支持同步文章标题、内容、类型、分类、标签,分类需要另一个站点也有创建相同名称的分类,别名和ID不需要相同。
在另一个站点的根目录创建一个命名为post.php的php文件,代码如下:
//以下为代码正文…
<?php
//文章接收
define('WP_USE_THEMES', false);
require_once("wp-load.php");
$key='123456';
if($_POST['key']==$key){ $categorys=explode(',',$_POST['category']); $category=array(); for($x=1;$x<count($categorys);$x++) { $category[$x-1]=get_cat_ID($categorys[$x]); } $info = array( 'post_title' => $_POST['title'], 'post_content' => $_POST['content'], 'post_status' => 'publish', 'post_author' => 1, //发布文章的作者ID,1 为管理员 'post_date' => $_POST['date'], 'tags_input' => $_POST['tags'], 'post_category' => $category, 'post_type' => $_POST['type'] ); wp_insert_post( $info );
}
然后在主题的functions.php文件的最后一个?>前加入已下代码,并设置 key,修改 API 地址。
/文章推送
add_action('publish_post', 'fanly_sync_post'); //钩子,在文章发布时执行
function fanly_sync_post($post_ID) { $key='www.nongyejing.com'; //输入你设置的密钥 $url='http://www.nongyejing.com/post.php';//API地址,就是接受数据的那个站点$post_info = get_post($post_ID); if ( $post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) { $title=$_POST['post_title']; $content=$_POST['content']; $date=$_POST['aa'].'-'.$_POST['mm'].'-'.$_POST['jj'].' '.$_POST['hh'].':'.$_POST['mn'].':'.$_POST['ss']; $category=''; for($x=1;$x<count($_POST['post_category']);$x++) { $category.=','.get_cat_name($_POST['post_category'][$x]); } $type=$_POST['post_type']; $tags=str_replace('、',',',$_POST['tax_input']['post_tag']); if($_POST['newtag']['post_tag']){ $tags.=','.str_replace('、',',',$_POST['newtag']['post_tag']); } $data = 'key='.$key.'&title='.$title.'&content='.$content.'&date='.$date.'&category='.$category.'&type='.$type.'&tags='.$tags; $ch = curl_init (); //cURL模拟POST curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE ); curl_setopt ( $ch, CURLOPT_POST, TRUE ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data ); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE); $ret = curl_exec ( $ch ); curl_close ( $ch ); return $ret; }
}
可参考案例:http://shuiniban.cnccpa.cn
WordPress多站点发布文章同步,API实现一篇文章发布多个平台(同栏目)相关推荐
- 微博发不出去显示服务器同步,WordPress发布文章同步到新浪微博失败的问题解决与分享...
张戈博客很久之前分享过一篇 WordPress发布文章同步到新浪微博 的文章,但经常有站长留言反馈同步失败,我一直觉得是代码部署问题. 最近很长一段时间,张戈博客也无法同步,我又觉得是微博自身的问题. ...
- Chrome插件英雄榜110篇更新!《微信公众号同步助手》快速将微信文章同步到知乎B站等创作平台...
title: 110 <微信公众号同步助手>是一款将微信文章同步到知乎, B站,微博,豆瓣,百家号, 简书, 头条号,搜狐号, 大鱼号, 一点资讯, Cnblog, CSDN, 51CTO ...
- 新浪微博发布文章html,JS实现仿新浪微博发布内容为空时提示功能代码
本文实例讲述了JS实现仿新浪微博发布内容为空时提示功能.分享给大家供大家参考.具体如下: 这里使用JavaScript模拟新浪微博的一个功能,在发布微博的内容为空时,文本框提醒用户这里没有输入内容,本 ...
- SEO优化:WordPress发布文章主动推送到百度,加快收录保护原创
工作实在太忙,也没时间打理网站.最近公司额外交待了一些网站 SEO 方面的优化任务让我关注(这就是啥都要会.啥都要做的苦逼运维的真实写照了...). 于是抽空看了下百度站长平台,至少看到了2个新消息: ...
- WordPress插件蜜蜂采集最新(2022-2-16)漏洞(XSS, WordPress用户名暴露,任意文章发布)复现
本次漏洞是WordPress的一款文章采集插件:蜜蜂采集,未对实现插件功能的相关API做鉴权:导致任何人发送的请求都会被执行. 下载漏洞复现环境:https://pan.baidu.com/s/1Oh ...
- php 自有文章同步微博
微博同步官方教程https://open.weibo.com/wiki/2/statuses/share 我觉得写这个文档教程的人是个傻逼~ 第一步 获取code //访问此方法返回的URL 进行登录 ...
- Word 2013无法发布文章到博客园
2018年12月12日突然发现word2013无法发布文章到博客园了, 虽然不常发布博客, 但作为一个强迫症患者, 不折腾好了, 吃肉都不香呀! 删除之前的账户, 想重新注册, 居然遇到了灰色对话框! ...
- 如何给WordPress页面(Page)和文章(Post)设置访问密码
设置密码的好处 最近,有网友在微信上问, "怎样给WordPress 网站页面上添加密码?" 因为通过为网页设置密码,如果想看网页内容的访客,需要关注ta的微信公众号,在公众号上回 ...
- Python + Selenium 自动发布文章(二):简书
Python + Selenium 自动发布文章系列: Python + Selenium 自动发布文章(一):开源中国 Python + Selenium 自动发布文章(二):简书 Python + ...
最新文章
- Orchard:处理1对多的关系
- opencv学习笔记(二):基于肤色的人手检测
- 【“探探”为例】手把手教你用最少的代码实现各种“机器人”
- msm8974 camera driver添加新摄像头kernel hal修改
- http/https面试总结
- python画建筑_专题 | Python 绘图入门
- maven 版本号插件_测试Maven版本插件自动递增版本号
- cakephp 1.3 Views
- SQL必知必会-检索数据
- 模拟退火算法_Matlab 二维模拟退火算法最优路径(主程序)
- TypeScript + Gulp + 混淆 + 打包
- Python Selenium之异常处理
- Visual Components 4.0仿真软件优势
- 学业水平测试计算机考试软件,普通高中学业水平考试系统
- IE无法浏览网页的常见原因及解决方法(转)
- 这几天很可能是因为时差倒坏了
- Virtualbox Ubuntu增强功能
- java和大数据开发该选择哪个好就业?
- 使用Eclipse IDE的技巧
- 关于sql sp4补丁