wmaraci reklam
lidertakipci

Özel alanı taxonomye çevirme

5 Mesajlar 580 Okunma
advertseo
wmaraci reklam

AzveNet AzveNet WM Aracı Kullanıcı
  • Üyelik 13.06.2019
  • Yaş/Cinsiyet 42 / E
  • Meslek Serbest
  • Konum İstanbul Anadolu
  • Ad Soyad C** E**
  • Mesajlar 367
  • Beğeniler 69 / 147
  • Ticaret 0, (%0)
Daha önceden özel alan olarak kullanıyordum ancak taxonomye çevirmek istiyorum. Böyle bir eklenti yahut kod varmı? Varolan verileri tax olarak tekrar kaydetmek istiyorum.
 

 

İmkansız olduğunu düşünürsen hiç birşey başaramazsın.
wmaraci
reklam

wpuzman wpuzman WordPress Developer Kullanıcı
  • Üyelik 13.01.2017
  • Yaş/Cinsiyet 32 / E
  • Meslek Yazılım
  • Konum Trabzon
  • Ad Soyad B** M**
  • Mesajlar 2773
  • Beğeniler 293 / 949
  • Ticaret 33, (%100)
Test etmedim ama çalışacağını umuyorum. functions.php ye ekleyip sayfayı bir kere yenilemeniz yeterli.

Yalnız yapmadan önce mutlaka yedek alın!

$args = array(
'order' => 'DESC',
'posts_per_page' => -1,
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();

// Taxonomy değerini (slug) yazıyoruz.
$taxonomy = 'benim_tax';
// Meta anahtarımızı yazıyoruz.
$meta_key = 'test';

// Meta anahtarımızın değerini çekiyoruz.
$is_meta = get_post_meta( get_the_ID(), $meta_key, true );

// Eeğer meta anahtarı varsa
if ( ! empty( $is_meta ) ) {
// Taxonomy içerisine term eklemeden önce, term in var olup olmadığını kontrol ediyoruz.
// Ekleyeceğimiz term, meta anahtarınız olacak.
if ( ! term_exists( $meta_key ) ) {
// Eğer böyle bir term yoksa yeni bir tane oluştur diyoruz.
wp_insert_term( $meta_key, $taxonomy );
}

// Yazımızı oluşturulan term içerisine bağladık.
wp_set_post_terms( get_the_ID(), $meta_key, $taxonomy );

// Eğer var olan meta değerini saklamak istiyorsanız bu satırı silebilirsiniz.
delete_post_meta( get_the_ID(), $meta_key );
}
}
}
AzveNet

kişi bu mesajı beğendi.

AzveNet AzveNet WM Aracı Kullanıcı
  • Üyelik 13.06.2019
  • Yaş/Cinsiyet 42 / E
  • Meslek Serbest
  • Konum İstanbul Anadolu
  • Ad Soyad C** E**
  • Mesajlar 367
  • Beğeniler 69 / 147
  • Ticaret 0, (%0)
teşekkür ediyorum deneyip hemen bilgilendireceğim.
 

 

İmkansız olduğunu düşünürsen hiç birşey başaramazsın.

AzveNet AzveNet WM Aracı Kullanıcı
  • Üyelik 13.06.2019
  • Yaş/Cinsiyet 42 / E
  • Meslek Serbest
  • Konum İstanbul Anadolu
  • Ad Soyad C** E**
  • Mesajlar 367
  • Beğeniler 69 / 147
  • Ticaret 0, (%0)

wpuzman adlı üyeden alıntı

Test etmedim ama çalışacağını umuyorum. functions.php ye ekleyip sayfayı bir kere yenilemeniz yeterli.

Yalnız yapmadan önce mutlaka yedek alın!

$args = array(
'order' => 'DESC',
'posts_per_page' => -1,
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();

// Taxonomy değerini (slug) yazıyoruz.
$taxonomy = 'benim_tax';
// Meta anahtarımızı yazıyoruz.
$meta_key = 'test';

// Meta anahtarımızın değerini çekiyoruz.
$is_meta = get_post_meta( get_the_ID(), $meta_key, true );

// Eeğer meta anahtarı varsa
if ( ! empty( $is_meta ) ) {
// Taxonomy içerisine term eklemeden önce, term in var olup olmadığını kontrol ediyoruz.
// Ekleyeceğimiz term, meta anahtarınız olacak.
if ( ! term_exists( $meta_key ) ) {
// Eğer böyle bir term yoksa yeni bir tane oluştur diyoruz.
wp_insert_term( $meta_key, $taxonomy );
}

// Yazımızı oluşturulan term içerisine bağladık.
wp_set_post_terms( get_the_ID(), $meta_key, $taxonomy );

// Eğer var olan meta değerini saklamak istiyorsanız bu satırı silebilirsiniz.
delete_post_meta( get_the_ID(), $meta_key );
}
}
}


maalesef üstad. hata vermedi ama özel alanları tax olarakta eklemedi :(
arada virgülle ayrılmış şeyler var. onunla alakalı olabilir mi?
 

 

İmkansız olduğunu düşünürsen hiç birşey başaramazsın.
wmaraci
wmaraci

wpuzman wpuzman WordPress Developer Kullanıcı
  • Üyelik 13.01.2017
  • Yaş/Cinsiyet 32 / E
  • Meslek Yazılım
  • Konum Trabzon
  • Ad Soyad B** M**
  • Mesajlar 2773
  • Beğeniler 293 / 949
  • Ticaret 33, (%100)
Hangi kodları nasıl kullanmanız gerektiğini detaylı bir şekilde açıkladım. Bundan sonrası sizin :)
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al