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.