web-dev-qa-db-fra.com

Mise à jour automatique de Wordpress à partir d'un fichier Zip local

J'ai un blog Wordpress hébergé sur un serveur sans réseau sortant. Par conséquent, Wordpress ne peut pas rechercher une nouvelle version et/ou se mettre à jour automatiquement vers une nouvelle version.

À l'heure actuelle, le seul moyen que je connaisse pour mettre à jour le blog avec une nouvelle version de WP consiste à suivre le guide compliqué ici ou à le copier sur un autre hôte (avec le réseau sortant). , mettez-le à jour et recopiez-le. Les deux voies sont très compliquées.

Je cherche un moyen d'utiliser le programme de mise à jour automatique de WP sans nécessiter de réseau sortant sur l'hôte. En gros, j'aimerais télécharger wordpress-4.3.1.Zip via FTP, aller sur le panneau d'administration et choisir "mettre à jour à partir du fichier Zip: wordpress-4.3.1.Zip". Existe-t-il une telle option ou un plugin qui puisse m'aider à atteindre cet objectif?

Edit: Notez que je n'ai pas accès à l'exécution de code arbitraire sur le serveur. En gros, j'ai PHP, MySQL, FTP, et c'est tout.

5
Paul

Voici comment procéder, en effectuant temporairement une correction mineure du code WP:

  1. Téléchargez le fichier Zip dans le dossier racine de WP, dans le même dossier que wp-config.php et amis.
  2. Ouvrez le fichier wp-admin\includes\update.php.
  3. Recherchez la fonction find_core_update et remplacez-la par:

    function find_core_update( $version, $locale ) {
        $updates = get_core_updates();
        return $updates[0];
    }
    
  4. Recherchez la fonction get_core_updates et remplacez-la par:

    function get_core_updates( $options = array() ) {
        $new_Zip = 'wordpress-4.3.1.Zip';
        $new_version = '4.3.1';
        return array((object)array(
            'response'      => 'upgrade',
            'current'       => $new_version,
            'download'      => '../' . $new_Zip,
            'packages'      => (object) array (
                                'partial' => null,
                                'new_bundled' => null,
                                'no_content' => null,
                                'full' => '../' . $new_Zip,
                            ),
            'version' => $new_version,
            'locale' => null
        ));
    }
    

    Définissez les variables $new_Zip, $new_version selon vos besoins.

  5. Allez dans le panneau d'administration et lancez la mise à jour!

0
Paul

Comme souvent, WP-CLI a déjà couvert:

wp core update --version=3.8 ../latest.Zip

Regardez ici pour plus de détails: http://wp-cli.org/commands/core/update/

5
kraftner

Je fais souvent Mise à jour manuelle, ce n'est pas cette douleur. :)

Faites-le simplement de cette manière (j'espère que vous saurez mettre à jour manuellement):

Étape 1: Supprimez wp-includes et wp-admin du serveur, puis téléchargez-en deux nouvelles.
Étape 2: Couper/Copier tous les fichiers volants du dossier dossier local et collez-les à la racine du serveur avec le droit d’écraser - Remplacez simplement

Et vous avez terminé. :)

Facultatif Étape 1: Dans wp-content/themes/ Supprimez les dossiers de thèmes par défaut et téléchargez les derniers dossiers, si vous les utilisez.
Facultatif Étape 2: Dans wp-content/plugins/ Supprimez le dossier "Akismet" et téléchargez le dernier "Akismet" si vous l'utilisez.

P.S .: Ne supprimez pas wp-content, .htaccess, wp-config.php, robots.txt etc.

1
Mayeenul Islam