Unattaching unlinked images

4

Como eu entendo o comportamento padrão do WP:

Quando você carrega uma imagem em uma postagem e a salva (como um rascunho ou post publicado), a imagem fica "anexada" à postagem. Isso pode ser verificado novamente, indo para Media > Biblioteca > Coluna "Enviado para".

Para marcar uma imagem como não vinculada a qualquer postagem, ela deve ser feita manualmente, excluindo a postagem. (Existe outro caminho?)

Minha principal questão é: Existe uma maneira de eu dizer ao WordPress para marcar imagens como "não conectadas" se elas não forem inseridas ou vinculadas em qualquer postagens existentes?

editar

Para esclarecer:

  1. Enviamos 20 (ou mais) imagens para uma postagem e as inserimos. Estes são todos automaticamente anexados pelo WordPress ao post. Queremos que isso aconteça, porque nosso modelo de tema puxa todas as imagens anexadas por postagem.

  2. Antes de publicar a postagem, ela é editada e algumas imagens são removidas e não serão usadas novamente.

  3. Procuramos uma forma de detectar quais imagens não estão sendo usadas * na postagem e as desanexamos automaticamente dessa postagem. Isso é para que possamos apenas entrar em Library > Unattached , selecioná-los e excluí-los.

* Eu originalmente usei o termo 'desvinculado' porque todas as imagens inseridas são <a href=""><img></a> , então pode ajudar em termos de detecção do que está sendo usado porque um link para a imagem está presente no post.

    
por Arkuen 22.07.2014 / 04:06

2 respostas

1

O wordpress é uma droga para manter os relacionamentos de mídia e de conteúdo. Parte do problema é que, por padrão, todas as mídias são públicas assim que são carregadas e você não tem como saber onde elas estão sendo usadas. Só porque uma imagem não é mais referenciada em sua postagem original não significa que ela não seja referenciada em nenhum outro lugar (widget da barra lateral?) Ou talvez por algum site externo, portanto, excluir uma imagem apenas porque ela não está conectada é muito perigoso ideia que pode levar a uma situação de falha muito grande.

Para o que você quer, acho que é melhor usar o log de acesso do servidor real do que o conteúdo. Obtenha um processo em execução que, uma vez por mês, analise todas as imagens e encontre aquelas que não tiveram nenhum acesso, e exclua-as.

    
por Mark Kaplun 06.08.2014 / 05:40
0

Um pouco de fundo para nos certificarmos de que estamos em sincronia:

  • Fazer upload de uma imagem significa que você cria uma nova postagem (do tipo anexo) no banco de dados do WordPress e cria alguns arquivos de imagem no sistema de arquivos do WordPress (um arquivo por tamanho)
  • Anexar a uma postagem significa que você marca a postagem de anexo (acima) como filha dessa postagem. Significa que um anexo só pode ser anexado a um post.
  • Inserir uma imagem em uma postagem significa apenas adicionar um elemento img à postagem. A fonte (atributo src) aponta para o URL do arquivo criado quando você fez o upload da imagem.

Elementos de resposta:

  1. Não há uma maneira interna de saber quais imagens são inseridas. Você tem que analisar o conteúdo do post.
  2. Você não pode desfazer o relacionamento pai / filho entre a postagem e a imagem anexada, a menos que você exclua a postagem ou a imagem

O que eu faria para remover imagens inúteis de uma postagem:

  1. Editar postagem
  2. Remova o elemento img do conteúdo
  3. Clique em "Adicionar mídia"
  4. Selecione "Enviado para esta postagem" no menu suspenso
  5. Selecione a mídia
  6. Clique em "excluir permanentemente"

Isso funcionará somente se sua política for usar anexos somente em uma e apenas uma postagem.

    
por YaFred 06.08.2014 / 06:52