保存大量元数据的高效方法

时间:2015-03-13 作者:Malibur

我目前正在开发一个插件,该插件将读取外部xml,并将数据转换为自定义帖子类型。每个帖子需要大约50-60个meta\\u字段。现在,我正在遍历xml中所需的每一段数据,并对每一段数据运行update\\u post\\u meta()。这证明是非常低效的,因为每个update\\u post\\u meta都会导致一个单独的请求,在我的例子中,当xml有大量数据时,这会导致服务器超时。

假设$event[\'meta\']有50个字段,我需要一次性在500篇帖子上运行所有50个更新。

    // add/update meta fields
    foreach ($event[\'meta\'] as $meta_key => $meta_value) {
        update_post_meta( $post_id, $meta_key, $meta_value );
    }
是否可以将所有元更新合并到一个请求中?可能与wp\\u insert\\u post()结合使用?

重要的是,如果元字段不存在,则必须创建一个元字段,如果存在,则必须进行更新,就像update\\u post\\u meta一样。

1 个回复
SO网友:jjarolim

通过wpdb(SQL)手动执行所有插入操作。可以使用一条sql语句进行多个插入。wp\\u post\\u meta构建非常简单。

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在