要实现WordPress发布到多站点同步文章,有两种常用的方法:
- 使用WordPress插件
有很多WordPress插件可以帮助你同步文章到多个站点。其中比较流行的插件有:
- Multisite Post Duplicator
- WP Multisite Content Copier
- MultiSite Clone Duplicator
- Syndicate Press
这些插件都有类似的功能,可以让你在发布文章时选择要同步到哪些站点,也可以自动同步到所有站点。你只需要在各个站点安装相应的插件,然后设置好同步规则,就可以实现同步文章了。
编写自己的同步代码
为了将文章同步发布到多个 WordPress 站点,您可以使用 Jetpack 插件提供的公共发言 API。这个 API 可以让您通过一个站点发布文章,然后将它同步到其他站点,而无需手动复制和粘贴内容。
以下是使用 Jetpack 公共发言 API 发布文章的步骤:
- 在 Jetpack 管理面板中,启用公共发言 API。这需要您将 Jetpack 连接到 WordPress.com 帐户,并为您的站点启用公共发言 API 权限。
- 获取 API 密钥。您可以在 Jetpack 管理面板中找到它。
- 在要同步文章的站点中安装并启用 Jetpack 插件。
- 在这些站点中,使用以下代码向您的主站点发送请求以同步文章:
function my_sync_function($post_id) {
$post_data = get_post($post_id, ARRAY_A);
$post_data['post_password'] = 'mypassword'; // 如果需要设置文章密码,可以在此处设置
$post_data['post_type'] = 'post'; // 文章类型
$post_data['post_status'] = 'publish'; // 文章状态
$url = 'https://yoursite.wordpress.com/wp-json/wp/v2/posts'; // 主站点的公共发言 API URL
$api_key = 'your_api_key'; // 您的 Jetpack 公共发言 API 密钥
$args = array(
'body' => json_encode($post_data),
'headers' => array(
'Authorization' => 'Bearer ' . $api_key,
'Content-Type' => 'application/json',
),
'method' => 'POST',
);
wp_remote_post($url, $args); // 向主站点发送 POST 请求
}
add_action('publish_post', 'my_sync_function'); // 将此函数绑定到“发布文章”动作
- 替换
$url
和$api_key
变量的值。$url
应该是您的主站点的公共发言 API URL,$api_key
应该是您在第 2 步中获取的 Jetpack 公共发言 API 密钥。 - 将此代码添加到您的主题的 functions.php 文件中。
- 在任何要同步文章的站点上发布文章。文章将自动同步到您的主站点。如果您有多个要同步的站点,请重复步骤 3 到 6。
希望这可以帮助到您!
还没有评论呢,快来抢沙发~