분류법 (카테고리, 태그 및 / 또는 사용자 정의 분류법) 및 용어를 내보내고 가져 오는 방법


10

한 블로그에서 다른 블로그로 모든 Wordpress 범주 (게시물이 아닌 범주 만)를 내보내고 싶습니다. 어떻게해야합니까?


블로그의 관리자 패널에서 관리> 내보내기에 액세스 해 보셨습니까?

관리 메뉴가없고 도구 / 내보내기 메뉴 만 있지만 카테고리 만 내보낼 수는 없습니다
chubbyk

죄송합니다. 온라인 블로그에서 읽었습니다. 데이터베이스 수준에서 그렇게 할 수 있습니까?

간단한 노력이 필요하면 카테고리 내보내기 플러그인을 사용해보십시오 . wordpress.org/plugins/export-categories

답변:


5

이 답변은 본질적으로 Ünsal의 답변과 동일하지만 그의 답변이 도움이되지 않았기 때문에 조금 자세히 설명하고 싶습니다. (나는 과거에 한 일을 기억하려고 노력했지만 더 신중하게 알아 냈지만 다른 사람들에게는 전체 설명이 유용 할 것이라고 생각합니다.

전체 카테고리 계층 구조를 내보내려면 "모든 컨텐츠"를 내 보내야합니다.

다른 옵션은 전체 데이터를 제공하지 않습니다 (예 : 모든 카테고리로 태그가 지정된 게시물을 내 보내면 대부분 작동하지만 계층 적 분류법에 대한 모든 상위 / 계층 데이터는 손실 됨).

"모든 컨텐츠"를 내 보내면 결과 파일에 용어에 대한 데이터가있는 섹션이 있습니다. 파일을 살펴보면 저자 나 "항목"(즉, 게시물) 전에 쉽게 찾을 수 있어야합니다.

옵션 인 경우 가져 오기만하고 콘텐츠를 삭제할 수 있습니다 *

전체 파일을 가져 오면 분류 체계가 완벽하게 복제되지만 모든 페이지와 게시물도 가져옵니다. 너무 많은 것이 없다면 손으로 삭제하는 것을 고려하십시오. 일괄 처리하고 수백 개 미만인 경우 시간이 오래 걸리지 않습니다 (게시물 편집 화면에서 화면 옵션을 사용하여 기본값보다 더 많이 표시하여 한 번에 대량 편집 할 수 있음을 기억하십시오).

내용을 모두 제거 할 내용이 너무 많으면 WXR 파일을 직접 편집하여 유지하려는 용어 이외의 모든 항목을 제거해야합니다.

컨텐츠를 제거하기 위해 WXR 파일 편집

이것은 약간 까다로울 수 있지만 실제로 파일의 내용을 보면 각 요소가 무엇을하는지 알아내는 것이 어렵지 않습니다. XML은 태그가있는 HTML과 유사하므로주의해야 할 것은 여는 태그를 남기는 동안 닫는 태그를 삭제하지 않는 것입니다.

WXR에는 1-3 가지 유형의 용어 정의가 있으며, 하나는 범주, 하나는 "태그", 다른 하나는 "용어"입니다. "맞춤 분류법"은 구식 범주와 태그에 고유 한 특수 형식이있는 반면 용어를 사용합니다.

카테고리 예

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

커스텀 세금 기간 예시

<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 : 작성자 태그와 다음에 오는 많은 항목 태그입니다. 가장 중요한 것은 하단의 닫는 / channel 및 / rss 태그를 제거하지 마십시오! 그것들이 없으면 XML은 유효성을 검사하지 않습니다.

명백히 라이브 웹 사이트에서 사용하기 전에 편집 한 파일을 가져 오는 결과를 테스트합니다. 로컬로 새로 설치하여 가져 와서 완전히 실패했는지 확인한 다음 wp-admin에서 카테고리 목록 화면을 확인하고 모든 것이 예상 한대로되어 있는지 확인하십시오.

행운을 빕니다!


1
이렇게하면 이미 생성 된 범주에 계층이 추가되지 않습니다. 존재하지 않는 하위 카테고리에만 상위 카테고리를 지정합니다.
Zade

4

나는 2 개의 쿼리 로이 문제를 해결했다.

이것이 내가 생각하는 가장 좋은 방법은 아니지만 가장 안전한 방법은 아닙니다 . 또한 동일한 데이터베이스에서 작업하고 있다고 가정합니다 (그렇지 않은 경우 쿼리를 쉽게 내 보낸 다음 다른 db로 가져올 수 있음).

워드 프레스 설치 에서 사용했습니다 .

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

카테고리 만 (또는 일반적으로 분류) 만 내보낼 수 없습니다. 도구 / 내보내기를 사용하여 모든 컨텐츠를 내 보내면 xml에서 카테고리를 제외한 컨텐츠를 삭제할 수 있습니다.


2

최종 목표는 무엇입니까? 한 블로그에서 다른 블로그로 카테고리 목록을 얻으려면? 또는 범주 또는 범주가있는 모든 컨텐츠를 다른 WordPress 설치로 이동하려고합니까?

좀 추악하지만 모든 내용을 내 보낸 다음 범주 내에서 내용을 삭제하거나 원하지 않는 범주를 삭제하면됩니다. 아마도 목표를 달성하는 더 빠른 방법 중 하나 일 것입니다.


2

데이터베이스 테이블에 액세스 할 수있는 경우 wp_term_relationships, wp_term_taxonomy, wp_terms 테이블의 mysql 덤프 내보내기를 수행하여 새 워드 프레스 설치로 가져올 수 있습니다. 방금 300 개가 넘는 범주로 두 개의 WP 설치 사이 에서이 작업을 수행했으며 정상적으로 작동했습니다.


고마워, 이것은 내 끝에서 잘 작동했습니다.
Nikhil VJ
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.