我读了很多你不能用的东西wp_insert_post
和update_field
因为这个字段还没有创建或求和,所以我尝试了wp_insert_post
.
我的字段是一个用户对象,我正在插入用户ID。我打开了多个值,所以我使用一个用户ID数组更新,该数组只包含一个条目。将来数组中将有多个条目。
以下是我尝试过的:
wp_insert_post
然后update_field
仅使用字段名
wp_insert_post
然后update_field
使用字段键
wp_insert_post
和使用update_post_meta
仅使用字段名
wp_insert_post
和使用update_post_meta
使用字段名的下划线版本插入字段名和字段键
wp_insert_post
和使用add_post_meta
使用字段名,字段键使用下划线版本的字段名
wp_insert_post
使用meta_input
在同时具有字段名和字段键的参数中,字段名的下划线版本
Here’s what happens:
插入字段。您可以在WP post编辑器中看到,它是以正确的方式成功创建的。使用PHPMyAdmin访问数据库会显示已添加。
Now the weirdness:
我正在运行此查询以了解我需要什么。查询每隔15秒在轮询进程上运行一次,以查找用户X的新消息。
$args = array(
‘numberposts’ => -1,
‘post_status’ => ‘publish’,
‘post_type’ => ‘message’,
‘meta_query’ => array(
‘relation’ => ‘AND’,
array(
‘key’ => ‘message_recipients’,
‘value’ => get_current_user_id(),
‘compare’ => ‘LIKE’
),
array(
‘key’ => ‘message_read_by’,
‘value’ => get_current_user_id(),
‘compare’ => ‘NOT LIKE’
)
)
);
发生的情况是,查询不返回任何行。但是,当您进入WP post编辑器并手动更新post时,只有在那时才能找到记录。
实际上,我已经尝试提取从该请求生成的SQL,其行为与此相同。在单击“更新”之前,找不到任何行。
找到记录后,当代码再次运行时会进行清理update_post_meta
将用户id插入“message_read_by
” 字段,该字段有效地将其从查询结果中删除,因为它不适合第二个搜索参数。所以这一次它起作用了。如果您不使用WP post editor触摸数据,那么它可以工作吗?这没有道理。
我需要这个来处理没有WP post编辑器的编程插入。数据看起来一样!以下是数据库视图:
使用insert进行的初始编程更新。https://imgur.com/BN9DvGi
在我点击帖子上的“更新”后:https://imgur.com/GnwIgoF
这是相同的数据!那么,为什么查询只在我单击“更新”之后才起作用呢?
这个wp_posts
表也相同,只是作者用户id从3更改为0。我也尝试过更新数据库中的那个字段,但也不是这样。
当我单击WP post editor中的更新按钮时,是否有其他字段或内容被更改或更新?这就是我所能想到的。