Sauvegarde de la base de données WP

logo carre@4x

Sauvegarde de la base de données WP : solution rapide

Veuillez noter que ce plugin n’est plus pris en charge. Les versions récentes du  plugin WordPress Database Backup  ont corrigé le problème que ce correctif temporaire résolvait. Ce plugin restera uniquement pour les utilisateurs qui ne souhaitent pas mettre à jour.

Le plugin WordPress, WordPress Database Backup par Austin Matzko est l’un des plugins de sauvegarde les plus intuitifs actuellement disponibles et sans avertissement sévère pour effrayer les âmes sensibles, il s’est imposé comme un outil très efficace et utile. Cependant, un petit problème existe pour les utilisateurs de WordPress 1.9.1 – 2.8 dans lequel le menu de navigation a tout simplement disparu. Cela s’applique uniquement à WordPress Database Backup version 2.2.2. Le plug-in fonctionne correctement s’il est configuré avant la mise à niveau, mais ne fournit plus un moyen simple d’apporter des modifications ou de forcer une sauvegarde manuelle. Nous savons que nos clients avaient besoin d’un accès immédiat et nous avons donc créé une solution rapide et fourni un téléchargement jusqu’à ce que le problème soit corrigé par l’auteur.

Bien que le problème soit un manque de capacités de gestion, nous aborderons deux modifications dans ce didacticiel. La première modification consiste à redécouvrir et à déplacer le menu vers une position plus appropriée dans la liste déroulante Paramètres et la deuxième modification consistera à accorder des autorisations à des utilisateurs autres que l’administrateur.

TÉLÉCHARGER LE PLUGIN

Instructions pour la mise à jour

Afin d’accéder à la page des paramètres du plugin, nous allons déplacer le menu en modifiant le page_hook actuel de “add_management_page” à l’une des nombreuses autres options disponibles (voir Ajout du codex des menus d’administration ) fournies par WordPress pour plus d’informations.

Redécouvrir et déménager

Pour nos besoins, nous allons le déplacer vers le menu déroulant Paramètres en utilisant “add_options_page”. Commencez par localiser le fichier “wp-db-backup.php” et recherchez la ligne de code suivante à 593 :

function admin_menu() {
  $_page_hook = add_management_page(__('Backup','wp-db-backup'), __('Backup','wp-db-backup'), 'import', $this->basename, array(&$this, 'backup_menu'));
    add_action('load-' . $_page_hook, array(&$this, 'admin_load'));
    if ( function_exists('add_contextual_help') ) {
    $text = $this->help_menu();
    add_contextual_help($_page_hook, $text);
   }
  }

et modifiez-le de “add_management_page” à “add_options_page”, ce qui le déplacera du menu déroulant Modifier vers le menu déroulant Paramètres, aidant à garder la structure du menu propre et organisée.

function admin_menu() {
  $_page_hook = add_options_page(__('Backup','wp-db-backup'), __('Backup','wp-db-backup'), '1', $this->basename, array(&$this, 'backup_menu'));
    add_action('load-' . $_page_hook, array(&$this, 'admin_load'));
    if ( function_exists('add_contextual_help') ) {
    $text = $this->help_menu();
    add_contextual_help($_page_hook, $text);
   }
  }

Pour terminer le déplacement, localisez cette prochaine ligne de code commençant à 601 :

function fragment_menu() {
  $page_hook = add_management_page(__('Backup','wp-db-backup'), __('Backup','wp-db-backup'), 'import', $this->basename, array(&$this, 'build_backup_script'));
    add_action('load-' . $page_hook, array(&$this, 'admin_load'));
   }

et modifiez-le à nouveau de “add_management_page” à “add_options_page”.

function fragment_menu() {
  $page_hook = add_options_page(__('Backup','wp-db-backup'), __('Backup','wp-db-backup'), 'import', $this->basename, array(&$this, 'build_backup_script'));
    add_action('load-' . $page_hook, array(&$this, 'admin_load'));
   }

Ceci termine la redécouverte et la relocalisation et à ce stade, il n’est pas nécessaire de passer à l’étape suivante pour l’accès administratif uniquement. Étant donné que nous devions accorder des autorisations à l’option de sauvegarde pour tous les utilisateurs, nous allons également le démontrer.

Accorder des autorisations

Afin d’accorder des autorisations d’utilisation, WordPress fournit une échelle mobile très intuitive et utile allant de 1 à 10 ainsi qu’une myriade d’autres fonctionnalités spécifiques à un niveau d’utilisateur pour déterminer l’accès qu’un utilisateur particulier peut avoir. Pour plus d’informations à ce sujet, veuillez consulter le codex Rôles et Capacités fourni par WordPress.

Actuellement, WordPress Database Backup utilise le rôle “importation” accordant l’accès uniquement à l’administrateur du site. Nous apporterons une modification mineure pour accorder l’accès à tous sauf aux abonnés en utilisant “level_1”. Localisez la fonction suivante commençant à 592 :

function admin_menu() {
  $_page_hook = add_management_page(__('Backup','wp-db-backup'), __('Backup','wp-db-backup'), 'import',

et remplacez “import” par “level_1”.

function admin_menu() {
  $_page_hook = add_options_page(__('Backup','wp-db-backup'), __('Backup','wp-db-backup'), 'level_1',

Ensuite, localisez la fonction suivante à partir de la ligne 601 :

function fragment_menu() {
  $page_hook = add_management_page(__('Backup','wp-db-backup'), __('Backup','wp-db-backup'), 'import',

et modifiez à nouveau “import” en “level_1”.

function fragment_menu() {
  $page_hook = add_management_page(__('Backup','wp-db-backup'), __('Backup','wp-db-backup'), 'level_1',

Pour compléter les autorisations d’accès utilisateur, recherchez ce qui suit à la ligne 1389 :

if ( ( $this->wp_secure('fatal', $loc) ) && current_user_can('import') )
  $can = $this->verify_nonce($_REQUEST['_wpnonce'], $this->referer_check_key, $loc);

et remplacez “import” par “level_1”.

if ( ( $this->wp_secure('fatal', $loc) ) && current_user_can('level_1') )
  $can = $this->verify_nonce($_REQUEST['_wpnonce'], $this->referer_check_key, $loc);

Veuillez noter que n’importe quel accès de rôle ou de capacité peut être utilisé, nous avions simplement besoin de ce rôle particulier.