web-dev-qa-db-fra.com

Comment utiliser des API de type publication personnalisées, mais utiliser une autre table de base de données

Nous avons actuellement un plugin qui crée une nouvelle table WP, mais il recrée la roue quand il s'agit de gérer/mettre à jour les données. Ce serait un bon candidat pour les types de publication personnalisés, mais nous ne voulons pas polluer la table wp_posts.

Cas d'utilisation: Nous créons un tableau de bord spécifique pour une entreprise répertoriant des centaines d'emplois et souhaitons que les tables soient propres pour les autres scripts php en dehors de WP qui accéderont également aux mêmes données. La saisie et la gestion seraient gérées par les API WordPress standard.

Question: Je souhaite utiliser la fonctionnalité de type de publication personnalisée de WP, mais utiliser une table de base de données différente. Pensées? Instructions? Est-il possible de dire simplement à WordPress de changer de table pour une requête donnée?

Connexes: Difficile à lire et à comprendre, et pas tout à fait les mêmes: Utiliser une base de données personnalisée avec un type de publication personnalisé

2
Dan Gayle

Je ne pense pas que tu peux faire ça. Vous pourriez peut-être utiliser une toute nouvelle base de données, mais il semble peu probable que vous puissiez ajouter une nouvelle table pour gérer un type de publication personnalisé. D'une part, un type de publication personnalisé est stocké dans la table wp_posts, mais certaines de ses données sont stockées dans la table wp_postmeta (en particulier les champs de méta de publication). Et si vous avez une taxonomie avec, utilisez 3 tables différentes. Et si votre plugin doit stocker des options, celles-ci seraient dans une autre table.

Je ne m'inquiéterais pas de polluer les tables wp, c'est comment elles sont conçues pour fonctionner. Une partie de sa puissance réside dans son extensibilité intégrée et facile à utiliser.

Vous pourriez peut-être fournir un moyen de supprimer votre type de message et tous ses messages si vous souhaitez pouvoir le supprimer complètement.

3
Jake