플러그인이 없는 게시물의 카테고리를 일괄 선택 해제하는 방법
게시 됨: 2020-10-05"카테고리"는 WordPress의 기본 분류입니다. 운영자는 카테고리를 사용하여 블로그 게시물을 다른 섹션으로 정렬하고 그룹화할 수 있습니다. 카테고리는 방문자가 사이트를 더 빨리 탐색하는 데 도움이 될 뿐만 아니라 웹사이트의 주제를 알 수 있도록 도와줍니다. 웹사이트 운영자는 WordPress 관리자 패널을 사용하여 카테고리 및 게시물에 대한 기본 작업을 구현할 수 있을 뿐만 아니라 WordPress 플러그인을 사용하여 다양한 방식으로 게시물을 조작할 수 있습니다.
- 1. WordPress가 클라이언트의 웹 요청을 처리하는 방법을 이해합니까?
- 2. WordPress 게시물의 대량 조작을 위한 중요 테이블
- 3. 범주에서 다른 범주로 모든 게시물 이동 – SQL 명령 사용
- 3.1. 특정 카테고리에 속하는 모든 게시물의 ID 목록 가져오기
- 3.2. 새 카테고리의 ID 가져오기
- 3.3. 주어진 ID 목록으로 게시물 업데이트
- 4. 마지막 말
그러나 WordPress 사이트용 플러그인을 남용하면 잠재적인 성능 문제와 보안 문제가 발생할 수 있으므로 옵션이 되어서는 안 됩니다. 이 기사에서는 플러그인을 사용하지 않고 게시물의 카테고리를 일괄 선택 해제하는 방법에 대해 알아보겠습니다.
WordPress가 클라이언트의 웹 요청을 처리하는 방법을 이해합니까?
웹 서버가 클라이언트의 요청을 처리하는 방법을 이해하는 것은 WordPress 사이트를 조작하는 데 필요합니다. 세부 작업에는 카테고리의 게시물 일괄 선택 해제가 포함됩니다.
일반적인 웹 서버는 LAMP 스택(Linux – Apache – MySQL/MariaDB – PHP)입니다. 다른 동등한 개념은 다른 웹 서버 플랫폼에서 찾을 수 있습니다.

LAMP 스택 서버-클라이언트 통신
1. 클라이언트는 웹 서버에서 웹 데이터를 요청하기 위해 HTTP 요청을 보냅니다.
2. 웹 서버는 클라이언트로부터 유효한 HTTP 요청을 수신합니다(방화벽 규칙을 통과한 후):
- HTTP 요청의 구조를 분석하고 클라이언트가 필요로 하는 HTML 페이지를 정확히 식별합니다.
- 스크립팅 계층(PHP)에 대한 요청을 구문 분석합니다.
3. 스크립팅 레이어 PHP:
- 데이터베이스에 쿼리하고 필요한 모든 정보를 얻습니다.
- 테마의 소스 코드와 결합하여 동적 웹 페이지를 렌더링합니다.
- 웹 서버로 돌아갑니다.
4. 웹 서버:
- HTTP 응답 메시지를 구성합니다.
- 클라이언트에 HTTP 응답 메시지를 보냅니다.
5. 클라이언트는 웹 서버로부터 HTTP 응답 메시지를 수신한 다음 웹 데이터를 웹 브라우저에 표시합니다.
WordPress 게시물의 대량 조작을 위한 중요 테이블
WordPress 사이트의 데이터베이스 스키마에는 테이블 팩이 있습니다. 스키마는 사이트마다 다릅니다. 그러나 WordPress 사이트의 게시물을 조작할 때 다음 테이블에 더 큰 관심을 기울여야 합니다.
| 테이블 이름 | 설명 |
wp_postmeta | WordPress 사이트의 추가 콘텐츠 관련 데이터를 저장합니다. |
wp_post | WordPress 사이트의 모든 중요한 콘텐츠 관련 데이터를 저장합니다. |
wp_term_relationships | 카테고리, 태그, 링크에 게시물을 연결하는 모든 연결 데이터를 저장합니다. 이 테이블의 정보는 용어 개체와 용어 사이의 맵 역할을 합니다. |
wp_term_taxonomy | wp_terms 테이블에 대한 추가 데이터를 저장합니다. |
wp_term | 게시물, 페이지 및 링크에 대한 카테고리, 태그를 저장합니다. |
범주에서 다른 범주로 모든 게시물 이동 – SQL 명령 사용
WordPress 데이터베이스를 직접 조작하려면 운영자가 사용할 DBMS(데이터베이스 관리 시스템)를 결정해야 합니다. 랩 환경은 웹 플랫폼으로 LAMP 스택을 사용하기 때문에 운영자는 SSH 세션을 통해 phpMyAdmin, WordPress 플러그인, MySQL 클라이언트(터미널 명령)를 사용하여 WordPress 데이터베이스와 작업할 수 있습니다. 이 시나리오에서 DBMS는 더 나은 설명을 위해 MySQL WorkBench입니다.
WordPress 데이터베이스의 변경 사항을 구현하기 전에 WordPress 사이트의 전체 백업을 수행하는 것이 좋습니다. 이 전체 백업에는 WordPress 소스 코드(테마, PHP 파일 ...) 및 데이터베이스 구조가 포함됩니다. 이상적인 목적을 위해 운영자는 WordPress 사이트를 실행하는 전체 호스트의 전체 백업을 만들 수 있습니다.
다음은 "미분류" 범주에서 "영감" 범주로 모든 게시물을 이동하는 완전한 SQL 스크립트입니다.
SET @listID = (
wp_posts에서 GROUP_CONCAT(ID) 선택
WHERE post_type="게시물"
AND post_status = "게시"
및 ID 입력(
wp_term_relationships에서 object_id 선택
WHERE term_taxonomy_id IN(
SELECT term_taxonomy_id FROM wp_term_taxonomy
WHERE 분류 = "카테고리"
AND term_id IN (
SELECT t.term_id FROM wp_terms t
WHERE t.name="미분류"
)
)
)
);
SET @newCategoryID = (
SELECT t.term_id FROM wp_terms t WHERE t.name='영감'
);
@newCategoryID를 선택하십시오.
@sqlCmd = CONCAT(
'업데이트 wp_term_relationships tr ',
'SET tr.term_taxonomy_id = ', @newCategoryID, ' ',
'WHERE tr.object_id IN (', @listID, ');'
);
선택 @sqlCmd;
@sqlCmd에서 stmt를 준비합니다.
SET SQL_SAFE_UPDATES = 0;
실행 명령;
SET SQL_SAFE_UPDATES = 1;
DEALLOCATE PREPARE stmt;자세한 스크립트는 다음과 같이 설명합니다.

특정 카테고리에 속하는 모든 게시물의 ID 목록 가져오기
이 데모에서는 "미분류" 범주에서 모든 게시물을 일괄 선택 해제한 다음 "영감"이라는 새 범주로 이동하는 방법을 보여줍니다.
WordPress 관리자 패널에서 이 3개의 게시물은 "미분류" 범주로 정렬됩니다.

아래의 SQL 명령은 "Uncategorized"라는 범주의 모든 게시물 ID를 검색합니다.
SET @listID = (
wp_posts에서 GROUP_CONCAT(ID) 선택
WHERE post_type="게시물"
AND post_status = "게시"
및 ID 입력(
wp_term_relationships에서 object_id 선택
WHERE term_taxonomy_id IN(
SELECT term_taxonomy_id FROM wp_term_taxonomy
WHERE 분류 = "카테고리"
AND term_id IN (
SELECT t.term_id FROM wp_terms t
WHERE t.name="미분류"
)
)
)
); @listID 값을 확인합니다.

새 카테고리의 ID 가져오기
SET @newCategoryID = (
SELECT t.term_id FROM wp_terms t WHERE t.name='영감'
); @newCategoryID 값을 확인합니다.

주어진 ID 목록으로 게시물 업데이트
먼저 SQL 명령을 빌드하고 변수 @sqlCmd 에 저장합니다.
/* @sqlCmd 변수에 저장된 예상 명령:
업데이트 wp_term_relationships tr
SET tr.term_taxonomy_id = 5
WHERE tr.object_id IN (131,132,133);
*/
@sqlCmd = CONCAT(
'업데이트 wp_term_relationships tr ',
'SET tr.term_taxonomy_id = ', @newCategoryID, ' ',
'WHERE tr.object_id IN (', @listID, ');'
);두 번째로 다음을 확인합니다.

마지막으로 @sqlCmd 변수에 저장된 SQL 명령을 아래 명령문으로 실행합니다.
@sqlCmd에서 stmt를 준비합니다. SET SQL_SAFE_UPDATES = 0; 실행 명령; SET SQL_SAFE_UPDATES = 1; DEALLOCATE PREPARE stmt;
결과는 다음과 같습니다.

마지막 말
WordPress 사이트에서 게시물의 카테고리를 일괄 선택 해제하는 다양한 방법이 있습니다. 플러그인을 사용하여 웹 인터페이스를 통해 상호 작용하거나 SQL 명령을 사용하여 WordPress 데이터베이스에 직접적인 영향을 주는 경우 운영자는 수정되는 필수 개체가 무엇인지 이해해야 합니다.
이 기사에서 게시물 카테고리를 일괄 선택 해제할 수 있는 또 하나의 선택지가 제공되기를 바랍니다. WordPress에서 더 유용한 기술을 얻으려면 다음 기사를 따르십시오!
플러그인을 사용하여 게시물의 카테고리를 보다 쉽게 일괄 선택 해제하려면 이 문서를 참조하세요.
