J'ai un CSV de plus de 65 000 lignes. Chaque ligne ne comporte que deux champs, un code d'identification et une description. Ce csv sera mis à jour tous les ans. Les utilisateurs doivent pouvoir saisir le code et obtenir une liste des publications associées (que je gérerai avec une boîte méta personnalisée).
Il semble que ces 65 000 éléments encombreraient vraiment la table wp_posts et peut-être même la table wp_postmeta et ralentiraient les recherches. C'est un site avec des centaines de messages (des milliers de révisions) dans différents CPT.
Je ne suis pas un type de base de données, donc je ne connais vraiment pas le meilleur moyen de gérer cela. Serait quelque chose de mieux géré dans sa propre table personnalisée?
Cela serait mieux traité comme une taxonomie personnalisée.
Pourquoi? Parce que la taxonomie est déjà optimisée pour la recherche de contenu associé. L'utilisation d'une taxonomie personnalisée signifie que vous obtenez automatiquement des métaboxes post-édition, des modèles d'archive, des recherches dans les écrans d'administration, etc.
Créer des publications pour chaque élément et utiliser une recherche post_meta aurait des ordres de grandeur plus lents. Je rencontre moi-même ce problème avec 100 000 messages liés à 14 000 auteurs via un champ post_meta d'ACF. Sloooow.
Structure:
Chaque code d'identification serait le nom du terme. Chaque description correspond à la description du terme - la description du terme est un champ standard dans WordPress, mais elle n’est pas exposée par défaut. Vous voudrez rechercher le code ailleurs pour exposer la description du terme dans divers écrans d'administration et pages frontales.
Relation:
Chaque poste reçoit un ou plusieurs de ces termes attribués. Comment vous les attribuez est à vous.
Importation:
WPAllImport peut gérer les importations de termes de taxonomie . Un avantage de WPAI est que vous pouvez réexécuter une importation avec un nouveau fichier CSV source et mettre à jour votre importation précédente. Pour ce faire, chaque ligne aurait besoin d'un identifiant unique - vous pouvez utiliser le nom si ce terme est unique et ne change pas d'une importation à la prochaine mise à jour, ou créez une troisième ligne avec un identifiant unique utilisé uniquement pour l'importation.