使用wp_Insert_POST修改帖子

时间:2015-10-20 作者:James George Dunn

我目前正在使用一个XML提要,使用wp\\u insert\\u post()将帖子添加到自定义帖子类型。

这一切都很好,但我想知道是否有一种方法可以检查帖子是否存在,并修改帖子中的任何元值。如果有帮助的话,这些帖子确实有一个与之关联的唯一ID。这不是WordPress ID,而是唯一的七位数ID。

那么,基本上,有没有办法对照现有帖子进行检查,更新其中的信息,如果还不存在,就添加新帖子?

2 个回复
SO网友:Rarst

对于初学者,您需要将您的ID与帖子相关联。如果您还没有这样做,只需将其存储在自定义字段中即可。

旁白——很久以前,我有一个合理的想法,GUID字段非常适合存储帖子的唯一ID。然而,WordPress是不合理的。不要那样做。

然后,无论何时您想要检查现有的帖子,您都可以查询具有该自定义字段值的自定义字段键的帖子(在您的情况下,事实上只有一篇帖子)。看见custom field parameters for query.

如果你什么也没有得到,那么现在还没有帖子。否则,您将获取现有帖子并使用其ID对其进行更新。

SO网友:s_ha_dum

From the Codex page for wp_insert_post():

重要提示:为$post[\'ID\']设置值不会创建具有该ID号的帖子。设置此值将导致函数使用该ID号和$post中指定的其他值更新post。简而言之,要插入新帖子,$post[\'ID\']必须为空或根本不设置。

你只需要给你的feed帖子提供一个匹配的WordPress id,这个函数就会更新而不是插入。不幸的是,我不知道您的系统的其余部分是如何工作的,所以提供更多的细节,更少的代码,实际上是不可能的。

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: