在WordPress REST API中,您可以通过设置文章的date字段来安排定时发布。date字段接受一个符合ISO 8601标准的日期和时间字符串。以下是一个Python脚本示例,展示了如何使用requests库和WordPress REST API来创建一个定时发布的草稿文章:

import requests
from requests.auth import HTTPBasicAuth
from datetime import datetime

# WordPress 网站的 REST API 端点和账号信息
url = "http://yourdomain.com/wp-json/wp/v2/posts"
username = "your-username"
password = "your-password"

# 设置定时发布的时间(例如,从现在开始的24小时后)
publish_at = datetime.now() + timedelta(hours=24)
publish_date = publish_at.strftime("%Y-%m-%dT%H:%M:%S")

# 创建文章的数据
post_data = {
    "title": {
        "raw": "Scheduled Article Title"
    },
    "content": {
        "raw": "This is the content of the scheduled article."
    },
    "status": "future",  # 设置为 'future' 以安排定时发布
    "date": publish_date  # 设置定时发布的日期和时间
}

# 发送 POST 请求创建文章
response = requests.post(url, json=post_data, auth=HTTPBasicAuth(username, password))

# 检查响应
if response.status_code == 201:
    print("文章创建成功,ID 为:", response.json()['id'])
else:
    print("文章创建失败,错误信息:", response.text)

在这个脚本中,我们首先导入了datetime模块来帮助我们计算未来的日期和时间。然后,我们设置了publish_at变量为当前时间加上24小时(您可以根据需要调整这个时间差),并使用strftime方法将其格式化为ISO 8601标准的字符串。

post_data字典中,我们设置了status字段为future,这告诉WordPress我们将要安排文章的定时发布。然后,我们设置了date字段为我们计算出的发布时间。

请注意,定时发布的功能可能受到WordPress版本和配置的影响。在某些情况下,您可能需要确保WordPress的定时任务(如cron job)正在运行,以便WordPress能够按计划发布文章。

在实际使用中,请确保替换urlusernamepasswordpublish_at为您的WordPress网站的相应信息和您希望的发布时间。此外,出于安全考虑,不要在脚本中硬编码您的用户名和密码。您可以使用环境变量或其他安全的方式来存储这些敏感信息。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注