Mass Find & Replace Bases de données WordPress - La façon simple
Il y a plusieurs occasions où nous devons changer des URLs dans notre base de données de site Web de WordPress . Par exemple, nous devons le faire après la migration d'une base de données WordPress d'un site, par exemple depuis le site de production distant http://acme.com
, vers le site de développement local http://acme.dev
sur notre ordinateur.
WordPress.org héberge un grand nombre de plugins, tels que WP DBManager et WP Migrate DB, et il existe également un certain nombre d'outils tiers qui vous permettent d' importer la base de données facilement. La partie délicate est de devoir changer chaque instance d'URL dans la base de données.
Après la migration de la base de données, les URL à l'intérieur de celle-ci pointent toujours vers l'ancien site, dans ce cas vers acme.com
. Vous pouvez trouver l'ancienne URL dans la table wp_options
, définie comme la valeur des options siteurl
et home
, et elle est probablement également intégrée dans plusieurs autres lignes et tables de la base de données. Ces anciennes URL peuvent éventuellement empêcher votre site de fonctionner correctement, vous devez donc les changer à la nouvelle URL, dans notre exemple à acme.dev
.
acme.dev
mènera simplement à une page blanche .Alors, comment pouvons-nous changer toutes ces URL dans la base de données?
Exécution d'une requête SQL
Habituellement, les utilisateurs exécuteront la requête SQL suivante qui remplace les valeurs des options siteurl
et home
dans la table wp_options
.
UPDATE wp_options SET option_value = remplacer (option_value, 'http://acme.com', 'http://acme.dev') WHERE nom_option = 'home' OU option_name = 'siteurl';
Par la suite, ils utilisent une autre requête SQL pour remplacer toutes les occurrences d'URL dans la table wp_posts
, à savoir dans la colonne post_content
de chaque ligne.
UPDATE wp_posts SET post_content = remplacer (post_content, 'http://acme.com', 'http://acme.dev');
L'exécution de ces requêtes est une solution réalisable, mais en même temps, n'est pas pratique à faire. Il pourrait même être angoissant, vu comment la base de données peut se détraquer en raison d'un simple oubli dans la requête.
Tirer parti de WP-CLI
Une autre voie que nous pouvons prendre, et que j'ai trouvée être une alternative plus pratique, est en tirant parti de la ligne de commande WP-CLI . Cela signifie que WP-CLI doit être installé.
En supposant que vous avez installé WP-CLI et avez la commande wp
accessible en tant qu'alias, naviguez vers le répertoire où résident vos fichiers de site WordPress.
Ensuite, exécutez la commande suivante:
wp recherche-remplace 'http://acme.com' 'http://acme.dev
Le premier paramètre, 'http://acme.com'
, est l'ancienne entrée à remplacer par la seconde, 'http://acme.dev'
.
wp_options
et la table wp_options
, et remplacera chaque instance de l'entrée passée dans les paramètres de la commande.Comme vous pouvez le voir sur la capture d'écran ci-dessus, un total de 225 remplacements ont été effectués. Et nous l'avons fait par une simple ligne de commandement.
Je pense qu'il vaut la peine de mentionner que nous pouvons utiliser la commande wp search-replace
, non seulement pour remplacer les URL, mais aussi toute valeur stockée dans la base de données. Nous pouvons également limiter l'opération dans une certaine table en passant le nom de la table comme quatrième paramètre, comme suit:
wp recherche-remplace '.jpg' '.webp' wp_posts
En wp_posts
la commande ci-dessus, elle ne recherche que dans wp_posts
, la table qui stocke notre contenu - posts, pages, etc. - et remplace l'extension d'image de .jpg
par .webp
.
WP-CLI rend une opération SQL complexe plus intuitive, et vous pouvez l'utiliser de manière plus pratique. Si vous voulez affiner vos commandes, jetez un oeil à la documentation de WP-CLI, qui vous fournit une liste d'options pour effectuer une opération plus avancée avec la commande wp search-replace
.
Mastodon: Comme Twitter, mais beaucoup plus cool
Si vous êtes un utilisateur de Twitter depuis longtemps, il y a de fortes chances que vous connaissiez certains des changements les plus inutiles de Twitter . Alors que beaucoup d'entre nous ont décidé de rester sur Twitter pour l'instant, un Allemand de 24 ans nommé Eugene Rochko a décidé de prendre les choses en main pour développer une «meilleure» version de Twitter. Cette d
15 outils de typographie en ligne tous les concepteurs doivent savoir
La typographie est le fondement de tout design, car la lecture est l'une des choses les plus élémentaires que nous faisons sur le web. La typographie que vous choisissez a un impact sur plusieurs aspects d'un site Web, notamment la lisibilité, l'humeur et l'expérience utilisateur globale . Il