将Db字段导入为wordpress自定义字段

时间:2016-03-19 23:24:49

标签: sql database wordpress

我有一个旧网站,我已经在一个新的wordpress项目中导入了大部分内容。 关键是我在旧网站上的帖子比wordpress更多。 所以我在我的帖子类型中创建了自定义字段,现在我想直接在我的wordpress DB中从我的旧网站导入一些数据。 我在新老项目中为帖子保留了相同的ID。 那么我怎么能自动导入这些数据呢?

我在新创建的两个

中有两个要导入的字段

谢谢

编辑:

我尝试过这种SQL请求,但它没有工作

    Insert INTO wp_postmeta ( post_id , meta_key , meta_value)
SELECT 
    prod_id,
    prod_auteur
WHERE 
    meta_key = "Auteur(s)"
FROM
    produit

编辑: 正确的要求是:

Insert INTO wp_postmeta ( post_id, meta_key, meta_value) SELECT prod_id, 'Auteur(s)', prod_auteur FROM produit

2 个答案:

答案 0 :(得分:0)

如果旧的SQL数据的ID与帖子的ID相同,那么你可以这样做:

function your_function() {
    //grab your SQL data here
    while(<your sql query have rows>) {
        $pid = //id data from query
        $val1 = //first value to be imported
        $val2 = //second value to be imported
        if ( empty( get_post_meta($pid, 'first_value_name', true) ) ) update_post_meta($pid, 'first_value_name', $val1);
        if ( empty( get_post_meta($pid, 'second_value_name', true) ) ) update_post_meta($pid, 'second_value_name', $val2);
    }
}
add_action( 'wp_footer', 'your_function' );

你把它放在你的functions.php中,运行你的网站几次&amp;去掉它。之后,所有数据都应该在帖子的元数据中。请注意,您应该执行所有必要的操作,例如连接到数据库,检索查询等。另外,如果您的旧数据非常大,您可能想以某种方式对其进行分块。

答案 1 :(得分:-1)

Insert INTO wp_postmeta ( post_id, meta_key, meta_value) SELECT prod_id, 'Auteur(s)', prod_auteur FROM produit