Como desmarcar em massa uma categoria para postagens sem plug-in
Publicados: 2020-10-05“Categoria” é uma taxonomia padrão no WordPress. Os operadores podem usar categorias para classificar e agrupar as postagens do blog em diferentes seções. As categorias também ajudam os visitantes a navegar pelos sites com mais rapidez, além de saber de quais tópicos seus sites tratam. Um operador de site pode implementar operações básicas com categorias e postagens com painéis de administração do WordPress, bem como usar plug-ins do WordPress para manipular postagens de diferentes maneiras.
- 1. Compreendendo como o WordPress lida com solicitações da Web de clientes?
- 2. Tabelas importantes para manipulação em massa de postagens do WordPress
- 3. Mover todas as postagens de uma categoria para outra - usando comandos SQL
- 3.1. Obtenha uma lista de ID de todas as postagens pertencentes a uma categoria específica
- 3.2. Obtenha um ID da nova categoria
- 3,3. Atualize as postagens com listas de ID fornecidas
- 4. Últimas Palavras
No entanto, o uso excessivo de plug-ins para sites WordPress não deve ser uma opção, pois provavelmente causa problemas de desempenho e segurança em potencial. Neste artigo, vamos aprender como desmarcar em massa uma categoria para postagens sem usar plug-ins .
Compreendendo como o WordPress lida com solicitações da Web de clientes?
Entender como um servidor web lida com uma solicitação de um cliente é necessário para manipular o site WordPress. As operações detalhadas incluem postagens de desmarcar em massa em uma categoria.
O servidor da web típico é a pilha LAMP (Linux - Apache - MySQL / MariaDB - PHP). Outros conceitos equivalentes podem ser encontrados em outras plataformas de servidores da web.

LAMP empilha a comunicação servidor-cliente
1. O cliente envia solicitações HTTP para solicitar dados da web do servidor da web.
2. O servidor da web recebe solicitações de HTTP válidas de clientes (depois de passar as regras de firewall):
- Analisar a estrutura das requisições HTTP, identificar quais exatamente as páginas HTML que os clientes precisam;
- Analisando as solicitações para as camadas de script (PHP).
3. As camadas de script PHP:
- Consultar a base de dados, obter todas as informações necessárias;
- Combine com o código-fonte nos temas para renderizar páginas da web dinâmicas;
- Retorne ao servidor web.
4. O servidor web:
- Construa mensagens de resposta HTTP.
- Envie mensagens de resposta HTTP aos clientes.
5. O cliente recebe mensagens de resposta HTTP do servidor da web e, em seguida, exibe os dados da web em seus navegadores.
Tabelas importantes para manipulação em massa de postagens do WordPress
Há um pacote de tabelas no esquema do banco de dados dos sites WordPress. Os esquemas variam de site para site. No entanto, ao manipular postagens do site WordPress, essas tabelas devem ser mais preocupantes:
| Nome da tabela | Descrições |
wp_postmeta | Armazene dados adicionais relacionados ao conteúdo de um site WordPress. |
wp_post | Armazene todos os dados importantes relacionados ao conteúdo de um site WordPress. |
wp_term_relationships | Armazene todos os dados de conjunção conectando postagens a categorias, tags, links. As informações desta tabela atuam como um mapa entre os objetos de termos e os termos. |
wp_term_taxonomy | Armazene dados adicionais para tabelas wp_terms . |
wp_term | Armazene categorias, tags para postagens, páginas e links. |
Mover todas as postagens de uma categoria para outra - usando comandos SQL
Para manipular o banco de dados WordPress diretamente, os operadores precisam decidir qual SGBD (Sistema de Gerenciamento de Banco de Dados) usar. Como o ambiente de laboratório usa a pilha LAMP como plataforma da web, os operadores podem trabalhar com bancos de dados WordPress usando phpMyAdmin, plug-ins WordPress e até mesmo cliente MySQL (comando de terminal) por meio de sessões SSH ... Neste cenário, o DBMS é MySQL WorkBench para uma melhor finalidade de ilustração.
Antes de implementar qualquer alteração nos bancos de dados do WordPress, é aconselhável fazer um backup completo do site do WordPress. Este backup completo inclui o código-fonte do WordPress (temas, arquivos PHP ...) e a estrutura do banco de dados. Para fins ideais, os operadores podem criar um backup completo de todo o host que executa o site WordPress.

Aqui estão os scripts SQL completos para mover todas as postagens da categoria “Sem categoria” para a categoria “Inspirações”.
SET @listID = (
SELECIONE GROUP_CONCAT (ID) DE wp_posts
WHERE post_type = "post"
AND post_status = "publicar"
E ID EM (
SELECT object_id FROM wp_term_relationships
WHERE term_taxonomy_id IN (
SELECT term_taxonomy_id FROM wp_term_taxonomy
WHERE taxonomia = "categoria"
AND term_id IN (
SELECT t.term_id FROM wp_terms t
WHERE t.name = "Sem categoria"
)
)
)
);
SET @newCategoryID = (
SELECIONE t.term_id em wp_terms t ONDE t.name = 'Inspirações'
);
SELECT @newCategoryID;
definir @sqlCmd = CONCAT (
'ATUALIZAR wp_term_relationships tr',
'SET tr.term_taxonomy_id =', @newCategoryID, '',
'WHERE tr.object_id IN (', @listID, ');'
);
SELECT @sqlCmd;
PREPARE stmt FROM @sqlCmd;
SET SQL_SAFE_UPDATES = 0;
EXECUTE stmt;
SET SQL_SAFE_UPDATES = 1;
DEALLOCATE PREPARE stmt;O script detalhado será explicado a seguir.
Obtenha uma lista de ID de todas as postagens pertencentes a uma categoria específica
Nesta demonstração, demonstraremos como desmarcar em massa todas as postagens da categoria “Não categorizado” e movê-las para uma nova categoria chamada “Inspirações”.
No painel de administração do WordPress, essas 3 postagens são classificadas na categoria “Sem categoria”.

Os comandos SQL abaixo irão recuperar todos os IDs de posts de uma categoria chamada “Uncategorized”.
SET @listID = (
SELECIONE GROUP_CONCAT (ID) DE wp_posts
WHERE post_type = "post"
AND post_status = "publicar"
E ID EM (
SELECT object_id FROM wp_term_relationships
WHERE term_taxonomy_id IN (
SELECT term_taxonomy_id FROM wp_term_taxonomy
WHERE taxonomia = "categoria"
AND term_id IN (
SELECT t.term_id FROM wp_terms t
WHERE t.name = "Sem categoria"
)
)
)
); Verifique o valor de @listID :

Obtenha um ID da nova categoria
SET @newCategoryID = (
SELECIONE t.term_id em wp_terms t ONDE t.name = 'Inspirações'
); Verifique o valor de @newCategoryID :

Atualize as postagens com listas de ID fornecidas
Primeiro, crie um comando SQL e armazene-o em uma variável @sqlCmd .
/ * Comando esperado armazenado na variável @sqlCmd:
ATUALIZAR wp_term_relationships tr
SET tr.term_taxonomy_id = 5
ONDE tr.object_id IN (131,132,133);
* /
definir @sqlCmd = CONCAT (
'ATUALIZAR wp_term_relationships tr',
'SET tr.term_taxonomy_id =', @newCategoryID, '',
'WHERE tr.object_id IN (', @listID, ');'
);Em segundo lugar, verifique-o:

Finalmente, emita os comandos SQL armazenados na variável @sqlCmd com as instruções abaixo:
PREPARE stmt FROM @sqlCmd; SET SQL_SAFE_UPDATES = 0; EXECUTE stmt; SET SQL_SAFE_UPDATES = 1; DEALLOCATE PREPARE stmt;
Aqui está o resultado:

Últimas palavras
Existem várias maneiras de desmarcar em massa uma categoria para postagens em sites WordPress. Seja usando plug-ins para interagir por meio de uma interface da web ou usando comandos SQL para causar um impacto direto no banco de dados do WordPress, os operadores devem entender quais são os objetos essenciais que estão sendo modificados.
Felizmente, este artigo oferece mais uma opção para desmarcar em massa uma categoria de postagens. Para obter técnicas mais úteis no WordPress, vamos seguir nossos próximos artigos!
Se você quiser usar um plug-in para desmarcar em massa uma categoria de postagens com mais facilidade, consulte este artigo.
