Como verifico se vinculei a uma postagem antes de excluí-la?


15

Se eu quiser "com segurança" excluir uma postagem. Quero garantir que não exista nenhum link (no meu blog) para a postagem "a ser excluída". Como faço isso?


Não sei como fazer isso, mas talvez você não possa tentar o seguinte: Mova a postagem para a lixeira e use um plug-in do verificador de link. Se o plug-in do verificador de links for inteligente o suficiente, ele deverá informar os links para a postagem que você não está mais visível no site.
Brady

1
+1 para uma ótima pergunta. A idéia seria verificar o conteúdo de todas as postagens, mas pode ser um problema para um site grande ter um grande número de postagens. Eu faria isso salvando uma matriz serializada de links de uma postagem em seu postmeta (para novos e existentes) e, em seguida, consultava essas metadadas da tabela postmeta e examinava e retornava uma série de IDs de post que apontam para o post que está sendo excluído . Você pode detê-lo ou fazê-lo executar a ação que desejar.
Ashfame

@ Ashfame: Sugestão interessante. Agora, se você criar um plugin para isso ...
Jan Fabry

Outro +1 mais um favorito. @ Jan Fabry e @Ashfame - Tenho certeza que você quer trabalhar juntos neste! :)
kaiser

@ user3047 Não quer marcar esta como resolvida?
Kaiser #

Respostas:


6

Depois de ler este tópico, vi que também poderia precisar disso algumas vezes. Então aqui está o resultado:

O plug-in verificador de link interno

Ele adiciona uma meta box nas telas de edição de postagens que mostra links para todas as postagens vinculadas internamente à postagem exibida no momento. Se você deseja alterar a saída (adicione algo como, por exemplo), use o filtro fornecido. Um exemplo de como usar o filtro pode ser encontrado no arquivo leia-me.

O plug-in é licenciado pela GPL2. Talvez eu também o coloque no repositório oficial para permitir a instalação a partir de seu blog auto-hospedado. Editar: Concluído.

... ou em ...

... ou por conta própria


E obrigado a @Drake por fornecer a consulta sql (por favor, vá e vote novamente na resposta dele).
Kaiser

Um pouco difícil, mas meio que funciona. Se você tiver vários links no mesmo post, ele mostrará duplicados. Solução aceita.
user3047

Obrigado pela atenção. Não estava ciente disso. Mudará em uma versão futura.
Kaiser #

6

Você pode fazer uma consulta como:

SELECT ID, post_title, post_date, post_content 
FROM wp_posts 
WHERE post_content 
LIKE '%your-post-title%' ORDER BY post_date

para obter todas as postagens que vincularam o pedido antigo por data.


1

Não existe uma tabela ou estrutura de dados separada que mantenha os links post-a-post; portanto, a melhor maneira de fazer isso é pesquisar suas postagens pelo URL da postagem que você deseja excluir. A pesquisa funciona no código HTML da postagem, portanto, ele conterá o link completo, mesmo que você não o veja no editor visual.

Obviamente, você também deve pesquisar nas páginas, pois elas também podem conter links para postagens.

Outra abordagem seria usar o Google. Se você procurar, link:http://example.com/2011/05/post-to-delete/ele retornará todas as páginas que apontam para lá. Você também pode adicionar site:example.compara limitar os resultados apenas às páginas do seu site. Obviamente, isso não será tão atualizado quanto uma pesquisa em seu próprio banco de dados atual.


Boa ideia. Mas o blog em particular com o qual estou lidando é privado ...
user3047 10/11/11

1

Basta usar as ferramentas para webmasters do Google - ele possui uma página específica mostrando os links internos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.