web-dev-qa-db-fra.com

Éviter de mettre à jour le courrier lors de l'envoi POST ou GET demande à post.php

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.

1
Epicurus

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.

0
Stephen Harris