2016-03-19 16 views
0

Eski bir sitem var ve çoğunu yeni bir wordpress projesinde aldım. Buradaki nokta, eski sitemdeki yazım için wordpress'ten daha fazla alanım oldu. Bu yüzden yazı tipimde özel alan oluşturdum ve şimdi eski web sayfamdaki bazı verileri doğrudan wordpress DB'mde aktarmak istiyorum. Eski ve yeni projemde posta için aynı kimliği tuttum. Peki bu verileri nasıl otomatik olarak alabilirim? Ben Db alanını wordpress özel alanı olarak içe aktarma

oluşturduğumuz yeni iki aktarmanın iki alan vardır

teşekkür ederiz

DÜZENLEME: SQL isteği bu tür denedik ama

işe yaramadı

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

DÜZENLEME: sağ isteği vardı:

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

cevap

0

eski sql veri kimliklerini Yayınınızın kimlikleri ile aynıysa, o zaman bunu böyle birşey yapabilirsiniz:

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'); 

Sen functions.php içine koyun sitenizi birkaç çalıştırmak kez & kaldırmak. Bundan sonra, tüm veriler postanızın metağinde olmalıdır. DB'ye bağlanma, sorguyu alma vb. Gibi gerekli tüm şeyleri yapmanız gerektiğini unutmayın. Ayrıca, eski verileriniz oldukça büyükse, bunu bir şekilde parçalamak isteyebilirsiniz.

-1
Insert INTO wp_postmeta (post_id, meta_key, meta_value) SELECT prod_id, 'Auteur(s)', prod_auteur FROM produit 
İlgili konular