ฉันต้องการส่งออกหมวดหมู่ Wordpress ทั้งหมด (ไม่มีโพสต์เพียงหมวดหมู่) จากบล็อกหนึ่งไปยังอีกบล็อกหนึ่ง ฉันจะทำสิ่งนั้นได้อย่างไร
ฉันต้องการส่งออกหมวดหมู่ Wordpress ทั้งหมด (ไม่มีโพสต์เพียงหมวดหมู่) จากบล็อกหนึ่งไปยังอีกบล็อกหนึ่ง ฉันจะทำสิ่งนั้นได้อย่างไร
คำตอบ:
คำตอบนี้เป็นหลักเหมือนกับÜ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 และตรวจสอบให้แน่ใจว่าทุกอย่างตรงตามที่คุณต้องการ
โชคดี!
ฉันแก้ไขปัญหานี้ด้วยข้อความค้นหา 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_
อ้างอิงถึงตารางต้นฉบับ
คุณไม่สามารถส่งออกเฉพาะหมวดหมู่ (หรือ taxonomies โดยทั่วไป) เพียงส่งออกเนื้อหาทั้งหมดด้วยเครื่องมือ / ส่งออกและคุณสามารถลบเนื้อหายกเว้นหมวดหมู่จาก xml
เป้าหมายสุดท้ายของคุณที่นี่คืออะไร? เพียงเพื่อรับรายการหมวดหมู่จากบล็อกหนึ่งไปยังอีกบล็อกหนึ่ง? หรือคุณกำลังพยายามย้ายเนื้อหาทั้งหมดด้วยหมวดหมู่หรือหมวดหมู่ไปยังการติดตั้ง WordPress อื่นหรือไม่
มันน่าเกลียด แต่คุณสามารถส่งออกเนื้อหาทั้งหมดจากนั้นเพียงแค่ลบเนื้อหาภายในหมวดหมู่หรือลบหมวดหมู่ที่คุณไม่ต้องการ มันอาจเป็นวิธีหนึ่งที่เร็วกว่าสำหรับเป้าหมายของคุณ
หากคุณมีสิทธิ์เข้าถึงตารางฐานข้อมูลคุณสามารถทำการส่งออก mysql dump ของ wp_term_relationships, wp_term_taxonomy, ตาราง wp_terms และนำเข้าสิ่งเหล่านั้นในการติดตั้ง WordPress ใหม่ ฉันเพิ่งทำสิ่งนี้ระหว่างการติดตั้ง WP สองครั้งที่มีมากกว่า 300 หมวดหมู่และใช้งานได้ดี