Sınıflandırma (kategori, etiket ve / veya özel sınıflandırma) ve bunların terimleri nasıl dışa ve içe aktarılır


10

Tüm Wordpress kategorilerini (yazı yok, sadece kategoriler) bir blogdan diğerine aktarmak istiyorum. Bunu nasıl yapabilirim ?


Blogun Yönetici panelinden Yönet> Dışa Aktar'a erişmeyi denediniz mi?

Yönet menüsü yok, sadece Araçlar / Dışa Aktar menüsü var ancak sadece kategorileri dışa
aktarmama

Bunun için üzgünüm, çevrimiçi bir blogdan okudum. Bunu veritabanı düzeyinde yapabilir misiniz?

Basit bir çabaya ihtiyacınız varsa, Kategorileri Dışa Aktar eklentisini deneyin . wordpress.org/plugins/export-categories

Yanıtlar:


5

Bu cevap aslında Ünsal'ınkiyle aynı, ama biraz ayrıntı vermek istiyorum çünkü doğru olmasına rağmen cevabı bana yardımcı olmadı (sadece geçmişte ne yaptığımı hatırlamaya çalışıyordum, okumalıydım daha dikkatli bir şekilde anladım, ama diğerleri için tam bir açıklama yararlı olacağını düşünüyorum).

Tüm kategori hiyerarşisini dışa aktarmak için "Tüm İçerik" i dışa aktarmanız gerekir

Başka herhangi bir seçenek size tam verileri vermeyecektir (örneğin, tüm kategoriler çoğunlukla etiketli bir yayını dışa aktarma işe yarar, ancak hiyerarşik olan sınıflandırmalarla ilgili tüm ebeveynlik / hiyerarşi verilerini kaybedersiniz).

"Tüm İçerik" i dışa aktardığınızda, ortaya çıkan dosyada terimlerinizle ilgili verilerin bulunduğu bir bölüm bulunur. Dosyaya bakarsanız, yazarlardan sonra ve "öğeler" den (yani mesajlar) önce bulmak yeterince kolay olmalıdır.

Bu bir seçenekse içe aktarabilir ve içeriği silebilirsiniz *

Tam dosyanın içe aktarılması, sınıflandırma hiyerarşisini mükemmel bir şekilde çoğaltır, ancak aynı zamanda tüm sayfaları ve yayınları da içe aktarır. Çok fazla yoksa sadece elle silmeyi düşünün. Toplu olarak yaparsanız ve yüzlerceden az varsa bu kadar uzun sürmez (varsayılanları daha fazla göstermek için Yazıları Düzenle ekranındaki Ekran Seçeneklerini kullanabileceğinizi ve böylece aynı anda toplu olarak daha fazla düzenleme yapabileceğinizi unutmayın).

Hepsini kaldırmak için çok fazla içeriğiniz varsa, tutmak istediğiniz terimler dışında her şeyi kaldırmak için WXR dosyasını elle düzenlemeniz gerekir.

İçeriği kaldırmak için WXR dosyasını düzenleme

Bu biraz zor olabilir, ancak gerçekten dosyanın içeriğine bakarsanız, her bir öğenin ne yaptığını anlamak zor değildir. XML, etiketli HTML gibidir, bu yüzden dikkat edilmesi gereken ana şey, açılış etiketinden ayrılırken bir kapanış etiketini silmemenizdir.

WXR'de 1-3 tür terim tanımı, biri Kategoriler için, biri "etiketler" ve diğeri "terimler" için olduğunu göreceksiniz. "Özel sınıflandırmalar" terimler kullanılırken eski moda kategoriler ve etiketler kendi özel biçimlerine sahiptir.

KATEGORİ ÖRNEĞİ

<wp:category><wp:term_id>8880</wp:term_id><wp:category_nicename>runner-up-proposals</wp:category_nicename><wp:category_parent>second-round-proposals</wp:category_parent><wp:cat_name><![CDATA[Runner-up Proposals]]></wp:cat_name></wp:category>

ETİKET ÖRNEĞİ

<wp:tag><wp:term_id>122</wp:term_id><wp:tag_slug>ave-maria</wp:tag_slug><wp:tag_name><![CDATA[Ave Maria]]></wp:tag_name></wp:tag>

ÖZEL TAKSONOMİ DÖNEM ÖRNEĞİ

<wp:term><wp:term_id>8579</wp:term_id><wp:term_taxonomy>gv_tools</wp:term_taxonomy><wp:term_slug>digital-video</wp:term_slug><wp:term_parent></wp:term_parent><wp:term_name><![CDATA[Digital Video]]></wp:term_name></wp:term>

Yapmak istediğiniz şey, bu kategori / etiket / terim etiketleri dışındaki tüm içeriği WXR dosyasından kaldırmaktır. Yani wp: önce gelen yazar etiketleri ve sonra gelen birçok öğe etiketi. En önemlisi: En alttaki kapanış / kanal ve / rss etiketlerini kaldırmayın! Bunlar olmadan XML doğrulanmaz.

DAİMA düzenlenmiş dosyanızı canlı bir web sitesinde kullanmadan önce içe aktarmanın sonuçlarını test edeceksiniz. Yerel olarak yeni bir yüklemeye aktarmayı deneyin ve tamamen başarısız olup olmadığını görün, ardından wp-admin'de kategori listesi ekranını kontrol edin ve her şeyin tam olarak beklediğiniz gibi olduğundan emin olun.

İyi şanslar!


1
Bunun, önceden oluşturulmuş kategorilere bir hiyerarşi eklemeyeceğini unutmayın. Yalnızca henüz bulunmayan alt kategorilere üst kategoriler atar.
Zade

4

Bu sorunu 2 sorgu ile çözdüm.

Sanırım bu en iyi yol değil, ama en güvenli olanı değil . Ayrıca, aynı veritabanında çalıştığınızı varsayar (bu durumda kolayca sorguyu dışa aktarabilir ve daha sonra başka bir db'ye aktarabilirsiniz).

Bir üzerinde kullandım boş wordpress kurulumu:

1 - Kategorinin şartlarını içe aktarın:

INSERT INTO newwp_terms
SELECT te.*
  FROM oldwp_terms te
  JOIN oldwp_term_taxonomy ta
    ON te.term_id = ta.term_id
 WHERE ta.taxonomy = 'category'
 ;

2 - Kategorileri içe aktarma ilişkileri ve açıklamaları

INSERT INTO newwp_term_taxonomy
SELECT term_taxonomy_id,term_id,taxonomy,description,parent,0
  FROM oldwp_term_taxonomy ta
  WHERE ta.term_taxonomy_id IN
          (
           SELECT ta2.term_taxonomy_id
             FROM oldwp_terms te
             JOIN oldwp_term_taxonomy ta2
               ON te.term_id = ta2.term_id
            WHERE ta.taxonomy = 'category'
         )
  ;

[A] nyway newwp_, içine almak istediğiniz oldwp_tabloyu belirtirken kaynak tabloyu belirtir


2

Yalnızca kategorileri (veya genellikle sınıflandırmaları) dışa aktaramazsınız. Araçlar / Dışa Aktar ile tüm içeriği dışa aktarmanız yeterlidir ve xml'deki kategoriler dışındaki içeriği silebilirsiniz.


2

Buradaki son hedefin nedir? Bir blogdan diğerine kategori listesi mi almak istiyorsunuz? Veya bir kategorideki veya kategorilerdeki tüm içeriği başka bir WordPress kurulumuna taşımaya mı çalışıyorsunuz?

Biraz çirkin, ancak tüm içeriği dışa aktarabilir, ardından kategorilerdeki içeriği silebilir veya istemediğiniz kategorileri silebilirsiniz. Muhtemelen hedefinize ulaşmanın daha hızlı yollarından biri olacaktır.


2

Veritabanı tablolarına erişiminiz varsa, wp_term_relationships, wp_term_taxonomy, wp_terms tablolarının mysql dökümünü dışa aktarabilir ve bunları yeni wordpress kurulumuna aktarabilirsiniz. Bunu 300'den fazla kategoriye sahip iki WP kurulumu arasında yaptım ve iyi çalıştı.


teşekkürler, bu benim tarafımda iyi çalıştı.
Nikhil VJ
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.