Comment vérifier si je suis lié à un message avant de le supprimer?

15

Si je souhaite supprimer "en toute sécurité" un message. Je veux m'assurer qu'aucun lien n'existe (au sein de mon blog) vers la publication "à supprimer". Comment je fais ça?

user3047
la source
Vous ne savez pas comment faire cela, mais vous ne pouvez peut-être pas essayer ceci: déplacez le message dans la corbeille et utilisez un plugin de vérification de lien. Si le plugin de vérification des liens est suffisamment intelligent, il devrait vous indiquer tous les liens renvoyant vers le message que vous n'avez plus visible sur le site.
Brady
1
+1 pour une grande question. L'idée serait d'analyser le contenu des messages de tous les messages, mais cela peut être pénible pour un grand site ayant un grand nombre de messages. Je le ferais en enregistrant un tableau sérialisé de liens d'un article dans son postmeta (pour les nouveaux et les existants), puis interroger ces méta-informations à partir de la table postmeta et parcourir et renvoyer un tableau d'ID d'articles qui se lient au message en cours de suppression . Vous pouvez soit l'arrêter, soit le faire entreprendre l'action que vous souhaitez.
Ashfame
@Ashfame: suggestion intéressante. Maintenant, si vous voulez créer un plugin pour cela ...
Jan Fabry
Un autre +1 plus un fav. @Jan Fabry & @Ashfame - Je suis sûr que vous voulez travailler ensemble sur celui-ci! :)
kaiser
@ user3047 Vous ne voulez pas marquer celui-ci comme résolu?
kaiser

Réponses:

6

Après avoir lu ce fil, j'ai vu que j'aurais peut-être besoin de cela aussi parfois. Voici donc le résultat:

Le plugin de vérification des liens internes

Il ajoute une méta-boîte à vos écrans d'édition de publication qui affiche des liens vers tous les messages qui relient en interne au message actuellement affiché. Si vous souhaitez modifier la sortie (ajoutez quelque chose pour par exemple.), Veuillez utiliser le filtre fourni. Un exemple d'utilisation du filtre se trouve dans le fichier Lisez-moi.

Le plugin est sous licence GPL2. Peut-être que je vais également le mettre dans le dépôt officiel pour permettre l'installation à partir de votre blog auto-hébergé. Modifier: terminé.

...ou à...

... ou dans le nôtre

kaiser
la source
Et merci à @Drake pour avoir fourni la requête sql (veuillez aller et voter pour sa réponse).
kaiser
Un peu rude mais fonctionne un peu. Si vous avez plusieurs liens dans le même message, il affichera des doublons. Solution acceptée.
user3047
Merci pour l'information. N'était pas au courant de cela. Va changer dans une future version.
kaiser
6

Vous pouvez faire une requête comme:

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

pour obtenir tous les messages qui ont lié cet ancien ordre de publication par date.

Canard
la source
1

Il n'y a pas de table ou de structure de données distincte qui conserve les liens de poste à poste, donc la meilleure façon de le faire est de rechercher l'URL de la publication que vous souhaitez supprimer dans vos messages. La recherche fonctionne sur le code HTML de l'article, il contiendra donc le lien complet, même si vous ne le voyez pas dans l'éditeur visuel.

Bien sûr, vous devez également rechercher dans les pages, car elles peuvent également contenir des liens vers des publications.

Une autre approche serait d'utiliser Google. Si vous le recherchez, link:http://example.com/2011/05/post-to-delete/toutes les pages contenant un lien y seront renvoyées. Vous pouvez ensuite également ajouter site:example.compour limiter les résultats aux seules pages de votre site. Bien sûr, cela ne sera pas aussi à jour qu'une recherche dans votre propre base de données actuelle.

Jan Fabry
la source
Bonne idée. Mais le blog que je traite est privé ...
user3047
1

Utilisez simplement les outils Webmaster de Google - il a une page spécifique affichant les liens internes.

anu
la source