以编程方式创建帖子
参数
下一个表显示了可以在第一个参数(Array)中使用的元素列表。
参数 | 描述 |
---|---|
ID |
(Int)帖子 ID。如果等于 0 以外的其他内容,则将更新具有该 ID 的帖子。默认值为 0。 |
post_author | (Int)添加帖子的用户的 ID。默认值是当前用户 ID。 |
发布日期 | (字符串)帖子的日期。默认为当前时间。 |
post_date_gmt | (字符串)GMT 时区中的帖子日期。默认值是$ post_date。 |
POST_CONTENT | (混合)帖子内容。默认为空。 |
post_content_filtered | (字符串)已过滤的帖子内容。默认为空。 |
帖子标题 | (字符串)帖子标题。默认为空。 |
post_category | (Array)发布类别值的数组。 |
post_excerpt(String) 帖子摘录。默认为空。 |
|
post_status | (字符串)帖子状态。默认草稿。 |
post_type | (字符串)帖子类型。默认帖子。 |
comment_status | (字符串)帖子是否可以接受评论。接受开放或关闭。默认值是 default_comment_status 选项的值。 |
ping_status | (字符串)帖子是否可以接受 ping。接受开放或关闭。默认值是 default_ping_status 选项的值。 |
post_password | (字符串)访问帖子的密码。默认为空。 |
POST_NAME | (字符串)帖子名称或 slug。默认是创建新帖子时已清理的帖子标题。 |
to_ping | (字符串)要 ping 的空格或回车分隔的 URL 列表。默认为空。 |
ping 通 | (字符串)已经 ping 通的空格或回车分隔的 URL 列表。默认为空。 |
post_modified | (字符串)上次修改帖子的日期。默认为当前时间。 |
post_modified_gmt | (字符串)在 GMT 时区中上次修改帖子的日期。默认为当前时间。 |
post_parent | (Int)为它所属的帖子设置它,如果有的话。默认值为 0。 |
menu_order | (Int)应显示帖子的顺序。默认值为 0。 |
post_mime_type | (字符串)帖子的 mime 类型。默认为空。 |
GUID |
(字符串)引用帖子的全局唯一 ID。默认为空。 |
tax_input | (数组)按分类名称键入的分类术语数组。默认为空。 |
meta_input | (Array)由其后元键键控的后元值的数组。默认为空。 |
避免重复的帖子
当你执行这个功能时,你可能会得到一个重复的帖子,至少发生在我身上。 (你可以将其检入 Post WordPress 部分)
我找到了解决方案 :
if( !get_page_by_title( $title, 'OBJECT', 'post' ) ){
$my_post = array('post_title' => $title,
'post_content' => 'Content',
'tags_input' => $tags,
'post_category' => array(2),
'post_status' => 'publish'
);
$result = wp_insert_post( $my_post );
}
说明
在保存新帖子之前,使用帖子标题作为参数验证新帖子是否已存在,如果没有帖子标题,则可以保存新帖子。
在这里查看 get_page_by_title 的文档。