概念
正如我目前所做的,我发现最简单的部分是从您的;“来源”-数据库作为后置元值。
每次更新帖子时,只需搜索包含此元条目的帖子。只需确保将最后一个值设置为true
当您添加post元条目时,因为您需要能够查询它。
代码示例(粗略)
下面是我所做的:
$query = new WP_Query( array(
\'post_type\' => \'_YOUR_POST_TYPE_\'
,\'post_status\' => array(
\'publish\'
,\'future\'
,\'pending\'
)
,\'meta_query\' => array( array(
\'key\' => \'_YOUR_KEY_\'
,\'value\' => \'_SEARCHED_ID_\'
,\'compare\' => \'EXISTS\'
,\'type\' => \'NUMERIC\'
) )
#,\'fields\' => \'ids\'
) );
然后你可以检查
$query->found_posts
(或者是
$query->number_posts
?) 看看你有没有得到一个职位。如果是这样,只需检查它并更新(或删除)分类术语、发布数据和发布元数据(以防您在远程源/数据库上更改了某些内容)。
如果您只想检查帖子是否存在(这意味着:您正在插入,但没有更新或删除帖子数据),只需取消最后一行的注释fields
在上面WP_Query
. 这样,查询速度会更快,结果会返回一个ID或空数组。然后可以跳过帖子(如果是ID)或插入帖子(如果是空数组)。
Final Note: 当然,你必须更换_YOUR_KEY_
, _SEARCHED_ID_
和_YOUR_POST_TYPE_
. 您还必须注意,您正在将其保存为int
值,作为NUMERIC
键入else无效。