J'écris un plugin pour intégrer WP avec Visma. En gros, il crache un fichier XML toutes les trois heures à l'aide de wp cron (en accédant au répertoire d'installation du serveur pour wp-cron.php
sur le site actif) et l'enregistre dans le dossier de téléchargement.
J'ai tout fait en travaillant manuellement (soumettez-le dans wp-admin). Cependant, lors de l'exécution de la fonction cron, il semble que $wp_filesystem
ne soit pas accessible et qu'il ne soit pas possible de le configurer avec request_filesystem_credentials()
. Si j'essaie d'exécuter request_filesystem_credentials()
dans la fonction cron, un message d'erreur indiquant que la fonction n'existe pas apparaît. Si je le laisse à mon autre fonction (connectée à admin_init
), $wp_filesystem
est simplement vide (non existant).
J'essaye de sauvegarder des choses dans uploads-folder dans une fonction cron.
J'ai essayé de définir les constantes FTP dans wp-config.php
. J'ai essayé de définir la priorité de la fonction d'installation wp_filesystem
sur 1 (pour m'assurer qu'elle fonctionne le plus rapidement possible).
Je préférerais utiliser le wp_filesystem
car il offre de nombreux avantages en termes de stabilité et de sécurité.
Alors bien sûr, dès que je poste ceci, je trouve la solution. Après avoir cherché pendant une journée. Je devais inclure le fichier traitant les request_filesystem_credentials manuellement dans la fonction. Pour référence c'était require ABSPATH . 'wp-admin/includes/file.php';