nl.hideout-lastation.com
Paradijs Voor Ontwerpers En Ontwikkelaars


Mass Find & Replace WordPress Databases - The Easy Way

Er zijn verschillende gelegenheden waarbij we URL's in onze WordPress-websitedatabase moeten wijzigen . Dit moeten we bijvoorbeeld doen na het migreren van een WordPress-database van de ene site, bijvoorbeeld van de externe productiesite van http://acme.com naar de http://acme.dev lokale ontwikkelingswebsite op onze computer.

WordPress.org host een groot aantal plug-ins, zoals WP DBManager en WP Migrate DB, en er zijn ook een aantal hulpprogramma's van derden waarmee u gemakkelijk een database kunt importeren . Het lastige is dat elke URL-instantie in de database moet worden gewijzigd .

Nadat de database is gemigreerd, wijzen URL's in de database nog steeds naar de oude site, in dit geval naar acme.com . Mogelijk vindt u de oude URL in de tabel wp_options, die is ingesteld als de waarde van de siteurl en home, en waarschijnlijk is deze ook ingesloten in meerdere andere rijen en tabellen in de database. Deze oude URL's kunnen uiteindelijk voorkomen dat uw site correct werkt, dus u moet deze naar de nieuwe URL wijzigen, in ons voorbeeld naar acme.dev .

Op dit moment zal toegang tot onze ontwikkelsite op acme.dev eenvoudigweg leiden naar een lege pagina .

Dus hoe kunnen we al deze URL's in de database wijzigen?

Een SQL-query uitvoeren

Gewoonlijk zouden mensen de volgende SQL Query uitvoeren die de waarden van de siteurl en home opties in de tabel wp_options .

 UPDATE wp_options SET option_value = replace (option_value, 'http://acme.com', 'http://acme.dev') WHERE option_name = 'home' OF option_name = 'siteurl'; 

Vervolgens gebruiken ze een andere SQL-query om alle URL-occurrences in de tabel wp_posts te vervangen, namelijk in de kolom post_content van elke rij.

 UPDATE wp_posts SET post_content = replace (post_content, 'http://acme.com', 'http://acme.dev'); 

Het uitvoeren van deze query's is een werkbare oplossing, maar is tegelijkertijd niet handig om te doen. Het zou zelfs zenuwslopend kunnen zijn en zien hoe de database in de war raakt als gevolg van een eenvoudig overzicht in de query.

Gebruikmaken van WP-CLI

Een andere route die we kunnen uitvoeren, en waarvan ik heb ontdekt dat ze een handiger alternatief zijn, is het gebruik van de WP-CLI-opdrachtregel . Dit betekent dat u WP-CLI moet hebben geïnstalleerd.

Ervan uitgaande dat u WP-CLI hebt geïnstalleerd en de wp opdracht toegankelijk hebt als de alias, navigeert u naar de map waar uw WordPress-sitebestanden zich bevinden.

Voer vervolgens de volgende opdracht uit:

 wp search-replace 'http://acme.com' 'http://acme.dev 

De eerste parameter, 'http://acme.com', is de oude invoer die moet worden vervangen door de tweede, 'http://acme.dev' .

De opdrachtregel doorzoekt alle tabellen in de database, niet alleen de kolom wp_options tabel wp_options, en vervangt elk exemplaar van het item dat door de parameters van de opdracht is geleid.

Zoals je kunt zien aan de bovenstaande screenshot, zijn in totaal 225 vervangingen gemaakt. En we hebben het gedaan via een eenvoudige opdrachtregel.

Ik denk dat het de moeite van het vermelden waard is dat we de opdracht wp search-replace gebruiken, niet alleen voor het vervangen van URL's, maar ook voor elk stukje waarde dat in de database is opgeslagen. We kunnen de bewerking ook beperken tot een bepaalde tabel door de tabelnaam als de vierde parameter door te geven, als volgt:

 wp search-replace '.jpg' '.webp' wp_posts 

Als u de bovenstaande opdracht wp_posts, wordt alleen gezocht via wp_posts, de tabel waarin onze inhoud wordt opgeslagen (berichten, pagina's, enzovoort) en vervangt u de afbeeldingsextensie van .jpg naar .webp .

WP-CLI zorgt ervoor dat een verwarde SQL-bewerking intuïtiever oogt en dat u er op een handigere manier mee kunt werken. Als u uw opdrachten wilt verfijnen, bekijk dan de documentatie van WP-CLI, die u een lijst met opties geeft om een ​​meer geavanceerde bewerking uit te voeren met de opdracht wp search-replace .

20 dingen over Jeff Bezos die je waarschijnlijk niet wist

20 dingen over Jeff Bezos die je waarschijnlijk niet wist

U weet waarschijnlijk of hebt gehoord van Jeff Bezos. Per slot van rekening is hij de man achter Amazon.com, de grootste e-retailer ter wereld. Als je het goed aanpakt, is hij de man die een revolutie heeft teweeggebracht in de manier waarop we vandaag winkelen. Hij maakte in feite de weg vrij voor online winkelen en creëerde een trend voor andere ondernemers om te volgen.

(Technische en ontwerptips)

Das Keyboard 5Q - het toetsenbord dat meldingen van internet ontvangt

Das Keyboard 5Q - het toetsenbord dat meldingen van internet ontvangt

Het volgende item in de Das Keyboard- lijn van mechanische toetsenborden is interessant. Waar andere mechanische toetsenborden tevreden zijn met standaardinvoerapparaten, lijkt het Das Keyboard 5Q iets meer te zijn . Oorspronkelijk gelanceerd als een Kickstarter-project, is de Das Keyboard 5Q een "cloud connected keyboard" met verschillende trucjes uit de mouwen

(Technische en ontwerptips)