วิธีการส่งออกและนำเข้า taxonomies (หมวดหมู่แท็กและ / หรืออนุกรมวิธานที่กำหนดเอง) และข้อกำหนดของพวกเขา


10

ฉันต้องการส่งออกหมวดหมู่ Wordpress ทั้งหมด (ไม่มีโพสต์เพียงหมวดหมู่) จากบล็อกหนึ่งไปยังอีกบล็อกหนึ่ง ฉันจะทำสิ่งนั้นได้อย่างไร


คุณได้ลองเข้าถึงจัดการ> ส่งออกจากแผงผู้ดูแลระบบของบล็อกหรือไม่

ไม่มีเมนูจัดการมีเพียงเมนูเครื่องมือ / ส่งออก แต่ไม่อนุญาตให้ฉันส่งออกหมวดหมู่เท่านั้น
chubbyk

ขอโทษที่ฉันอ่านมันจากบล็อกออนไลน์ คุณสามารถทำสิ่งนั้นจากระดับฐานข้อมูลได้หรือไม่

หากคุณต้องการความพยายามอย่างง่ายลองใช้ปลั๊กอินส่งออกหมวดหมู่ wordpress.org/plugins/export-categories

คำตอบ:


5

คำตอบนี้เป็นหลักเหมือนกับÜsal แต่ฉันต้องการที่จะอธิบายรายละเอียดเล็กน้อยเพราะแม้จะเป็นคำตอบที่ถูกต้องเขาก็ไม่ได้ช่วยฉัน (ฉันแค่พยายามที่จะจำสิ่งที่ฉันทำในอดีตที่ผ่านมาฉันควรจะอ่าน อย่างระมัดระวังมากขึ้นและฉันจะคิดออก แต่ฉันคิดว่าสำหรับคนอื่นคำอธิบายแบบเต็มจะเป็นประโยชน์)

ในการส่งออกลำดับชั้นของหมวดหมู่แบบเต็มคุณจะต้องส่งออก "เนื้อหาทั้งหมด"

ตัวเลือกอื่น ๆ จะไม่ให้ข้อมูลแบบเต็ม (เช่นการส่งโพสต์ที่มีการติดแท็กหมวดหมู่ทั้งหมดเป็นส่วนใหญ่ แต่คุณสูญเสียข้อมูลบิดามารดา / ลำดับชั้นทั้งหมดเกี่ยวกับ taxonomies ที่เป็นลำดับชั้น)

เมื่อคุณส่งออก "เนื้อหาทั้งหมด" ไฟล์ผลลัพธ์จะมีส่วนที่มีข้อมูลเกี่ยวกับข้อกำหนดของคุณ หากคุณดูไฟล์มันควรจะง่ายพอที่จะค้นหาหลังจากเขียนและก่อนหน้า "รายการ" (เช่นโพสต์)

คุณสามารถนำเข้าสิ่งนี้และลบเนื้อหาหากเป็นตัวเลือก *

การนำเข้าไฟล์เต็มรูปแบบจะทำซ้ำลำดับชั้นของอนุกรมวิธานอย่างสมบูรณ์ แต่ก็เห็นได้ชัดว่านำเข้าทุกหน้าและโพสต์ด้วย หากมีไม่มากไปกว่าพิจารณาเพียงแค่ลบด้วยมือ จะใช้เวลาไม่นานถ้าคุณทำเป็นกลุ่มและมีน้อยกว่าร้อย (โปรดจำไว้ว่าคุณสามารถใช้ตัวเลือกหน้าจอบนหน้าจอแก้ไขโพสต์เพื่อแสดงมากกว่าค่าเริ่มต้นและทำให้แก้ไขเป็นกลุ่มได้มากขึ้นในแต่ละครั้ง)

หากคุณมีเนื้อหาที่จะลบออกมากเกินไปคุณต้องแก้ไขไฟล์ WXR ด้วยตนเองเพื่อลบทุกอย่างยกเว้นข้อกำหนดที่คุณต้องการเก็บไว้

การแก้ไขไฟล์ WXR เพื่อลบเนื้อหา

นี่อาจเป็นเรื่องยุ่งยากเล็กน้อย แต่จริงๆแล้วถ้าคุณดูเนื้อหาของไฟล์มันก็ไม่ยากที่จะเข้าใจว่าแต่ละองค์ประกอบทำอะไร XML ก็เหมือนกับ HTML ที่มีแท็กดังนั้นสิ่งสำคัญที่ควรระวังคือคุณไม่ต้องลบแท็กปิดในขณะที่เปิดแท็กเปิด ฯลฯ

คุณจะพบว่ามีคำจำกัดความของคำศัพท์ 1-3 ประเภทใน WXR หนึ่งประเภทสำหรับหมวดหมู่หนึ่งคำสำหรับ "แท็ก" และอีกหนึ่งคำสำหรับ "คำศัพท์" "taxonomies แบบกำหนดเอง" ใช้คำศัพท์ในขณะที่หมวดหมู่และแท็กล้าสมัยมีรูปแบบพิเศษของตนเอง

ประเภทตัวอย่าง

<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>

แท็กตัวอย่าง

<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>

ตัวอย่างภาษี TAXONOMY ระยะเวลาที่กำหนดเอง

<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>

ดังนั้นสิ่งที่คุณต้องการทำคือลบเนื้อหาทั้งหมดนอกเหนือจากแท็กหมวดหมู่ / แท็ก / คำศัพท์เหล่านี้ออกจากไฟล์ WXR wp คือ: แท็กผู้เขียนที่มาก่อนและแท็กรายการจำนวนมากที่ตามมา สิ่งสำคัญที่สุด: อย่าลบแท็กปิด / ช่องและ / rss ที่ด้านล่าง! หากไม่มีพวกเขา XML จะไม่ตรวจสอบ

เป็นไปได้ว่าคุณจะทดสอบผลลัพธ์ของการนำเข้าไฟล์ที่แก้ไขของคุณก่อนที่จะใช้มันบนเว็บไซต์สด ลองนำเข้าสู่การติดตั้งใหม่ภายในเครื่องและดูว่ามันล้มเหลวอย่างสมบูรณ์หรือไม่จากนั้นตรวจสอบหน้าจอรายชื่อหมวดหมู่ใน wp-admin และตรวจสอบให้แน่ใจว่าทุกอย่างตรงตามที่คุณต้องการ

โชคดี!


1
โปรดทราบว่าสิ่งนี้จะไม่เพิ่มลำดับชั้นให้กับหมวดหมู่ที่สร้างขึ้นแล้ว มันจะกำหนดหมวดหมู่ผู้ปกครองให้กับหมวดหมู่ย่อยที่ยังไม่มีอยู่เท่านั้น
Zade

4

ฉันแก้ไขปัญหานี้ด้วยข้อความค้นหา 2 ข้อ

นี้ไม่ได้เป็นวิธีที่ดีที่สุดผมคิดว่า แต่การตรวจสอบไม่ได้เป็นที่ปลอดภัยที่สุด นอกจากนี้สมมติว่าคุณกำลังทำงานกับฐานข้อมูลเดียวกัน (หากไม่ใช่ในกรณีนี้คุณสามารถส่งออกแบบสอบถามได้อย่างง่ายดายแล้วนำเข้าลงในฐานข้อมูลอื่น)

ฉันใช้มันในการติดตั้ง wordpress ที่ว่างเปล่า :

1 - นำเข้าข้อกำหนดของหมวดหมู่:

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 - นำเข้าความสัมพันธ์และคำอธิบายหมวดหมู่

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_หมายถึงตารางที่คุณต้องการนำเข้าในขณะที่oldwp_อ้างอิงถึงตารางต้นฉบับ


2

คุณไม่สามารถส่งออกเฉพาะหมวดหมู่ (หรือ taxonomies โดยทั่วไป) เพียงส่งออกเนื้อหาทั้งหมดด้วยเครื่องมือ / ส่งออกและคุณสามารถลบเนื้อหายกเว้นหมวดหมู่จาก xml


2

เป้าหมายสุดท้ายของคุณที่นี่คืออะไร? เพียงเพื่อรับรายการหมวดหมู่จากบล็อกหนึ่งไปยังอีกบล็อกหนึ่ง? หรือคุณกำลังพยายามย้ายเนื้อหาทั้งหมดด้วยหมวดหมู่หรือหมวดหมู่ไปยังการติดตั้ง WordPress อื่นหรือไม่

มันน่าเกลียด แต่คุณสามารถส่งออกเนื้อหาทั้งหมดจากนั้นเพียงแค่ลบเนื้อหาภายในหมวดหมู่หรือลบหมวดหมู่ที่คุณไม่ต้องการ มันอาจเป็นวิธีหนึ่งที่เร็วกว่าสำหรับเป้าหมายของคุณ


2

หากคุณมีสิทธิ์เข้าถึงตารางฐานข้อมูลคุณสามารถทำการส่งออก mysql dump ของ wp_term_relationships, wp_term_taxonomy, ตาราง wp_terms และนำเข้าสิ่งเหล่านั้นในการติดตั้ง WordPress ใหม่ ฉันเพิ่งทำสิ่งนี้ระหว่างการติดตั้ง WP สองครั้งที่มีมากกว่า 300 หมวดหมู่และใช้งานได้ดี


ขอบคุณมันใช้งานได้ดีในตอนท้ายของฉัน
Nikhil VJ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.