7

wordpress主题网站多站点实现自动同步文章纯代码实现教程

作者 : 佩斯音频工作室 本文共2646个字,预计阅读时间需要7分钟 发布时间: 2023-04-9 共734人阅读

WordPress可以利用自建API在不同站点之间自动同步发布文章,支持主站的文章标题、内容、类型、分类、标签等同步到备用站。分类需要在分站创建一个同名的分类。

想法:在另一个WordPress站点创建一个API。发布文章时,使用cURL模拟POST请求API,使用wp_insert_post()函数创建文章。

支持文章标题、内容、类型、分类、标签同步。分类要求另一个站点具有相同名称的分类。别名和ID不必相同。

2、然后在主站正在使用中的主题下functions.php文件中添加以下代码,并设置 key,修改 API 地址:

//文章推送
add_action('publish_post', 'fanly_sync_post'); //钩子,在文章发布时执行
function fanly_sync_post($post_ID) {
$key='lianghg.com'; //输入你上一步设置的密钥
$url='https://www.yourdomain.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;
}
}

 

2、然后在主站正在使用中的主题下functions.php文件中添加以下代码,并设置 key,修改 API 地址:

//文章推送
add_action('publish_post', 'fanly_sync_post'); //钩子,在文章发布时执行
function fanly_sync_post($post_ID) {
$key='lianghg.com'; //输入你上一步设置的密钥
$url='https://www.yourdomain.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;
}
}
支持技术 服务范围 1: 本网站名称:佩斯资源网
2: 本站永久网址:https://www.pstyw.com
3: 远程在线解决声卡各种问题排查/处理,各种声卡关联机架跳线,安装插件/机架/驱动,以及各种问题(20元起加一项加10元)QQ1943590279进行技术支持。
4: 在线一对一插件/机架/声卡跳线教学(50元起)。
5: 声卡效果调试,一对一根据人声声线精调,精调效果永久免费维护。不满意全额退款
注:免费维护,不再动效果。重装系统还原,修改效果参数,添加插件收费。一对一精调效果: 点击试听。
联系方式: 微信:CXY5520YP QQ:1943590279 QQ群:683643827 微信群:加微信,发会员帐号,佩斯邀请入群。
本站所有资源仅供学习与参考,请勿用于商业用途,如有侵犯版权,请及时联系1943590279@qq.com,我们将尽快删除处理。

佩斯资源网 » wordpress主题网站多站点实现自动同步文章纯代码实现教程


富强民主文明和谐自由平等公正 法制丨爱国敬业诚信友善

Copyright © 2021 佩斯音频网 All Rights Reserved
E-mail:1943590279@qq.com
安全运行
本站总访问量 本站访客数

在线人数:1人