J'ai créé un plugin qui ajoute une nouvelle méta-boîte à la page de tableau de bord post.php, contenant un formulaire. Chaque fois qu'une demande POST est soumise à partir de ce formulaire, j'aimerais enregistrer des méta-données postérieures.
J'ai pu implémenter cela, mais j'ai remarqué qu'à chaque fois que cette demande POST est envoyée, l'intégralité du message de blog est mise à jour, y compris les modifications apportées en dehors de ma méta-boîte. C'est comme si j'appuyais sur le bouton par défaut "Mise à jour" au lieu de mon propre bouton d'envoi de formulaire.
Existe-t-il un moyen d'envoyer une demande POST (ou GET) à post.php sans qu'il soit interprété comme une demande d'enregistrement de toutes les modifications apportées à l'article du blog? Une telle possibilité doit exister, car l'actualisation de cette page à partir d'un navigateur n'entraîne pas la mise à jour automatique de la publication de blog.
Je sais que je pourrais probablement le faire en utilisant AJAX, mais j'aimerais éviter cela si possible. De plus, j'utilise WordPress 3.4.1.
Le metabox lui-même se trouve à l'intérieur d'une forme qui englobe (presque) toute la page. Votre callback metabox ne devrait pas imprimer un formulaire lui-même (puisque vous allez vous retrouver avec des formulaires imbriqués). Au lieu de cela, les métadonnées doivent être mises à jour lorsque la publication elle-même est mise à jour, à l'aide du crochet save_post
.
Le seul moyen de mettre à jour une partie des métadonnées de l'article sans mettre à jour l'intégralité de l'article consiste à utiliser Ajax.