web-dev-qa-db-fra.com

Comment stocker des données pour les articles/pages construits avec le constructeur glisser-déposer?

Je crée un plugin similaire à https://www.wpbeaverbuilder.com/ Vous pouvez faire glisser des éléments pour créer des mises en page, etc.

Quel serait le meilleur moyen de stocker le contenu d'un post dans ce cas? Idéalement, il ne devrait pas être perdu après la désactivation du plugin.

Les options actuelles sont:

  • enregistrer dans la table WP_POSTS en tant que codes courts
  • créer ma propre table, y stocker dans JSON, puis renseigner la table WP_POSTS avec le code HTML généré

Je n'aime pas les deux, car les codes abrégés rendront difficile le basculement, car vous êtes tenu de générer des codes abrégés (bien que vous disposiez d'une solution de contournement). HTML est correct jusqu'à ce que l'utilisateur ait besoin de faire des modifications.

2
Runnick

l'édition de contenu concerne le contenu et non le style. une fois que vous ajoutez un style comme le positionnement "difficile" et toutes les autres choses que les constructeurs visuels aiment faire, ce n'est plus un contenu, mais plutôt un html brut.

Vous pouvez insérer le code HTML brut en tant que contenu de publication et avoir des commentaires HTML comme annotations (attention, les commentaires ne peuvent pas être imbriqués selon le standard html, aucune idée si cela a un impact dans la vie réelle), exactement comme Gutenberg le fait, mais la compatibilité en aval dépend vraiment de votre constructeur qui ne doit effectuer aucun traitement avant que le contenu ne soit affiché.

2
Mark Kaplun

L'option uniquement raisonnablement portable consiste à stocker le contenu dans le contenu du message.

Tout le reste (que ce soit des shortcodes, des méta post ou des options) aura besoin d'un code personnalisé pour y accéder et l'afficher, le vôtre ou un autre si les parties du site chemin avec votre plugin.

L’approche raisonnable que j’ai vue pour la portabilité des données consiste à stocker une certaine quantité de HTML généré avec du contenu (ce qui garderait le contenu disponible et visible par lui-même) et à l’améliorer progressivement lorsque le code "constructeur" est actif et fonctionne pour produire un effet complet.

2
Rarst