wordpress多站點設置同步文章

wordpress多站點設置同步文章

思路:在另一個WordPress站點創建一個api,文章發布時用curl模擬post請求api利用wp_insert_post()函數來創建文章。支持同步文章標題、內容、類型、分類、標簽,分類同步需要另一個站點也有創建相同名稱的分類,別名和 id 不需要相同。

在另一個站點的根目錄創建一個命名為 post.php 的 php 文件,代碼如下:

//以下為代碼正文… <?php //文章接收 define(&#39;WP_USE_THEMES&#39;, false); require_once("wp-load.php"); $key=&#39;123456&#39;; //設置啟動API的密鑰 if($_POST[&#39;key&#39;]==$key){       $categorys=explode(&#39;,&#39;,$_POST[&#39;category&#39;]);       $category=array();       for($x=1;$x<count($categorys);$x++) {        $category[$x-1]=get_cat_ID($categorys[$x]);       }       $info = array(       &#39;post_title&#39; =>?$_POST['title'],?? ????'post_content'?=&gt;?$_POST['content'],?? ????'post_status'?=&gt;?'publish',?? ????'post_author'?=&gt;?1,?//發布文章的作者ID,1?為管理員?? ????'post_date'?=&gt;?$_POST['date'],?? ????'tags_input'?=&gt;?$_POST['tags'],?? ????'post_category'?=&gt;?$category,?? ????'post_type'?=&gt;?$_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-&gt;post_status?==?'publish'?&amp;&amp;?$_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><p>更多wordpress相關技術文章,請訪問<a href="https://www.php.cn/cms/wordpress/" target="_blank">wordpress教程</a>欄目進行學習!</p></count>

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享