在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能够按计划发布文章。
在实际使用中,请确保替换url
、username
、password
和publish_at
为您的WordPress网站的相应信息和您希望的发布时间。此外,出于安全考虑,不要在脚本中硬编码您的用户名和密码。您可以使用环境变量或其他安全的方式来存储这些敏感信息。