web-dev-qa-db-fra.com

Transférer des informations sur l'auteur d'un champion personnalisé à un auteur propre

Un site WordPress pour lequel je suis en train de refaire la conception compte environ 1 400 billets publiés par environ 30 auteurs différents. Malheureusement, les auteurs des articles ont jusqu'ici été entrés en tant que champ personnalisé dans l'article, et non en tant qu'auteurs distincts dans WP.

Je voudrais transférer ceci de la "manière appropriée", où chaque article est associé à un auteur, car cela permettrait d'afficher plus d'articles de chaque auteur sans recourir à des plugins tels que Rechercher tout .

Est-ce que quelqu'un connaît un script qui pourrait parcourir toutes les publications, rechercher le champ personnalisé contenant l'auteur, créer et créer cet auteur, puis lier la publication à cet auteur? (Je sais, long shot ...)

Est-ce même possible ou existe-t-il un autre moyen de passer de 1 400 postes et de les changer à la main?

1
Squrler

Ne pas connaître votre configuration spécifique rend la tâche difficile ... mais voici quelques idées d'alternatives qui pourraient vous faire gagner du temps:

Laissez-le tel quel

Si ces auteurs ne sont pas réellement des utilisateurs du site pour commencer, ne changez rien. Les non-utilisateurs ne devraient pas être transformés en utilisateurs uniquement pour faciliter la recherche. La création de tant de comptes d'utilisateurs non utilisateurs ouvrira autant de points d'entrée potentiels pour les visiteurs malveillants.

Créer une taxonomie

Encore une fois, en supposant que ces auteurs ne sont pas réellement des utilisateurs ...

Créez une taxonomie personnalisée "Auteurs" et exportez les noms d'auteur. Les données taxonomiques sont assez faciles à utiliser dans un thème pour modifier le style, ajouter une attribution, etc. Elles vous fournissent également des pages d'archive et une fonctionnalité de recherche afin que vous puissiez indexer par nom d'auteur.

Le long chemin

Si ces auteurs doivent absolument être transformés en utilisateurs, vous avez beaucoup de travail à faire. Je vous recommande de vous asseoir avec phpMyAdmin et de lancer quelques requêtes:

  1. Exécuter une requête pour obtenir une liste de tous les noms d'auteur
  2. Pour chaque nom d'auteur, lancez une requête pour voir si cet auteur existe.
  3. Si l'auteur n'existe pas, lancez une requête pour créer une utilisation fictive pour cet auteur.

Oui, cela prendra un certain temps ... mais j'espère que vous n'avez pas 1 400 auteurs différents pour vos 1 400 messages différents. Votre première requête devrait renvoyer une centaine de résultats (espérons que vous n’avez pas vraiment 100 auteurs différents!) ... cela devrait certainement vous faire gagner du temps!

1
EAMann