Come posso verificare se mi sono collegato a un post prima di eliminarlo?


15

Se voglio eliminare "in sicurezza" un post. Voglio assicurarmi che non ci siano collegamenti (all'interno del mio blog) al post "da eliminare". Come lo faccio?


Non sei sicuro di come farlo, ma forse non puoi provare questo: sposta il messaggio nel cestino e usa un plug-in di controllo link. Se il plug-in di controllo dei link è abbastanza intelligente, dovrebbe dirti tutti i link che rimandano al post che non sono più visibili sul sito.
Brady,

1
+1 per un'ottima domanda. L'idea sarebbe di scansionare il contenuto dei post di tutti i post, ma può essere una seccatura per un grande sito con un gran numero di post. Lo farei salvando un array serializzato di collegamenti di un post nella sua postmeta (per i nuovi e per quelli esistenti) e quindi interrogando queste meta informazioni dalla tabella postmeta e scansionando e restituendo una serie di ID post che si collegano al post da eliminare . Puoi fermarlo o farlo per compiere qualsiasi azione tu voglia.
Ashfame,

@Ashfame: suggerimento interessante. Ora, se vuoi creare un plug-in per questo ...
Jan Fabry,

Un altro +1 più un fav. @Jan Fabry & @Ashfame - Sono sicuro che vuoi lavorare insieme su questo! :)
Kaiser

@ user3047 Non vuoi contrassegnarlo come risolto?
Kaiser,

Risposte:


6

Dopo aver letto questa discussione ho visto che potrei aver bisogno di questo anche a volte. Quindi ecco il risultato:

Il plug-in per il controllo dei collegamenti interni

Aggiunge una meta box nelle schermate di modifica dei post che mostra i collegamenti a tutti i post che si collegano internamente al post attualmente visualizzato. Se si desidera modificare l'output (aggiungere qualcosa per es.), Utilizzare il filtro fornito. Un esempio di come utilizzare il filtro è disponibile nel file Leggimi.

Il plugin è concesso in licenza GPL2. Forse lo inserirò anche nel repository ufficiale per consentire l'installazione dall'interno del tuo blog ospitato. Modifica: Fatto.

...o a...

... o nel nostro


E grazie a @Drake per aver fornito la query sql (vai e vota la sua risposta).
Kaiser

Un po 'agitato ma un po' funziona. Se hai più link nello stesso post, verranno mostrati i duplicati. Soluzione accettata
user3047

Grazie per il testa a testa. Non ne ero a conoscenza. Cambierà in una versione futura.
Kaiser,

6

Puoi fare una query come:

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

per ottenere tutti i post che collegavano quel vecchio ordine postale per data.


1

Non esiste una tabella o una struttura dati separata che mantenga i collegamenti post-post, quindi il modo migliore per farlo è cercare nei tuoi post l'URL del post che desideri eliminare. La ricerca funziona sul codice HTML del post, quindi conterrà il link completo, anche se non lo vedi nell'editor visivo.

Ovviamente, dovresti anche cercare tra le pagine, poiché possono anche contenere collegamenti a post.

Un altro approccio sarebbe quello di utilizzare Google. Se lo cerchi link:http://example.com/2011/05/post-to-delete/, verranno restituite tutte le pagine che li collegano. Puoi quindi aggiungere anche site:example.comper limitare i risultati alle sole pagine del tuo sito. Naturalmente, questo non sarà aggiornato come una ricerca nel proprio database corrente.


Grande idea. Ma il blog particolare con cui ho a che fare è privato ...
user3047

1

Usa gli strumenti per i Webmaster di Google: ha una pagina specifica che mostra i link interni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.