Configuration:
Problème:
Comment ces champs masqués personnalisés peuvent-ils être enregistrés avec les autres données de publication dans la fonctionnalité Enregistrement automatique ?
Merci
Je viens de faire un plugin qui devait être sauvegardé automatiquement, alors j'ai commencé à creuser dans le code. Je pensais maintenant que cela devait être déclenché par du javascript. J'ai donc commencé à regarder dans la console de Chrome lorsque le système de sauvegarde automatique est activé. J'ai alors vu que autosave.js
cherche une classe tags-input
dans admin-filters.php vous pouvez voir le commentaire:
// NOTE: the class "tags-input" allows to include the field in the autosave $_POST (see autosave.js)
Donc, je viens d'ajouter la classe tags-input
à mes champs cachés et cela enregistre maintenant le moment où la sauvegarde automatique est activée!
Voici mon exemple: <input type="hidden" class="tags-input" name="key" value="value" />
Mise à jour:
Maintenant, vous devez ajouter vos données par votre propre fonction ajax. (ajoutez un nouveau fichier js et ajoutez-le au pied de page. admin_enqueue_scripts)
jQuery(document).ajaxSend(function(e, x, a) {
var data = 1;
a.data += '&' + jQuery.param( {test_data: data} );
});
Et l'économie:
add_action('save_post', 'autosave_save_custom');
function autosave_save_custom( $post ) {
if( wp_is_post_autosave($post) && isset( $_POST['test_data'] ) ) {
$test_data = intval( $_POST['test_data'] );
$post_id = $post->ID;
update_metadata( $post->post_type, $post_id, 'test_data', $test_data );
}
}