### [wordpress多站点设置同步文章](https://www.prosaas.cn/article/7357) **Published:** 2019-07-16T05:53:50 **Author:** 5201314 **Excerpt:** 思路:在另一个WordPress站点创建一个API,文章发布时用cURL模拟POST请求API利用wp_ins… ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212130002161.jpg) 思路:在另一个WordPress站点创建一个API,文章发布时用cURL模拟POST请求API利用wp\_insert\_post()函数来创建文章。支持同步文章标题、内容、类型、分类、标签,分类同步需要另一个站点也有创建相同名称的分类,别名和 ID 不需要相同。 在另一个站点的根目录创建一个命名为 post.php 的 php 文件,代码如下: //以下为代码正文… $\_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.exiang2.com'; //输入你设置的密钥 $url='http://www.domain.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