20 užitečných SQL příkazů pro WordPress
WordPress ukládá všechna data do MySQL databáze. Zkrátka všechno co vytvoříte – články, stránky, média, menu, comentáře, nastavení, prostě vše se uloží v databázi. Administrace WordPressu je skvělá v tom, že vám umožňuje, všechno toto upravovat, mazat, vytvářet, až na jeden případ.
A tím jsou hromadné úpravy.
Pokud potřebujete odstranit u všech článků nějaký custom field, třeba po odinstalovaném pluginu, nebo náhledové obrázky, čeká vás nekonečné, frustrující rozklikávání jednotlivých článků.
Naštěstí, pomocí jednoduchých SQL příkazů, dokážete velmi jednoduše, dosáhnout super výsledků.
Vždycky zálohujte!
Než cokoliv z těchto příkazů vyzkoušíte, udělejte si zálohu databáze.
Existuje řada zálohovacích pluginů pro WordPress, nebo, pokud budete zadávat příkazy v phpMyAdmin, tak udělejte export. Ušetříte si spoustu starostí.
Užitečné SQL příkazy pro WordPress
Přidání custom fieldu všem článkům
1 2 3 4 |
INSERT INTO wp_postmeta (post_id, meta_key, meta_value) SELECT ID AS post_id, 'novy-custom-field' AS meta_key 'hodnota-custom-fieldu' AS meta_value FROM wp_posts WHERE ID NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key = 'novy-custom-field'); |
Kompletní smazání custom fieldu
1 |
DELETE FROM wp_postmeta WHERE meta_key = 'jmeno-custom-fieldu'; |
Odstranění nepřiřazených štítků
Když smažete článek, štítky zůstávají. Tímto smažete všechny, které nejsou přiřazeny, k článku.
1 2 |
SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=; |
Hromadné smazání SPAMu
1 |
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam'; |
Uzavření komentářů, pro starší články
1 |
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2016-01-01' AND post_status = 'publish'; |
Vypnutí pinbacků a trackbaků
1 |
UPDATE wp_posts SET ping_status = 'closed'; |
Smazání komentářů s určitou url
Někdo vás otravuje nesmyslnými komentáři? Tak je hromadně smažte.
1 |
DELETE from wp_comments WHERE comment_author_url LIKE "%urlspamera%" ; |
Výpis článků, starších, než X dní
Místo X, použijte počet dní.
1 2 3 |
SELECT * FROM 'wp_posts' WHERE 'post_type' = 'post' AND DATEDIFF(NOW(), 'post_date') > X |
Smazání nepotřebných shortcodů
Pozor – funguje pouze na nepárové shortcody.
1 |
UPDATE wp_post SET post_content = replace(post_content, '[facebook-button]', '' ) ; |
Změna článků na stránky
1 |
UPDATE wp_posts SET post_type = 'page' WHERE post_type = 'post' |
Změna autora u všech článků
1 |
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID; |
Kompletní smazání všech revizí
1 |
DELETE FROM wp_posts WHERE post_type = "revision"; |
Deaktivace všech pluginů
Hodí se především, když vám kompletně přestane fungovat web.
1 |
UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins'; |
Změna url u všech článků
Ideální po přesunu celého webu. Já používám plugin Better Search and Replace
1 |
UPDATE wp_posts SET guid = replace(guid, 'http://www.old-site.com','http://www.new-site.com); |
Změna defaultního Admin uživatele
1 |
UPDATE wp_users SET user_login = 'Master' WHERE user_login = 'Admin'; |
Manuální přepsání vašeho hesla
1 |
UPDATE 'wordpress'.'wp_users' SET 'user_pass' = MD5('PASSWORD') WHERE 'wp_users'.'user_login' ='admin' LIMIT 1; |
Vyhledání a změna obsahu v článku
1 2 3 4 |
UPDATE wp_posts SET 'post_content' = REPLACE ('post_content', 'OriginalText', 'NewText'); |
Změna url obrázků, po přesunu webu
1 2 |
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src=”http://www.myoldurl.com', 'src=”http://www.mynewurl.com'); |
Vymazání všech transient
1 |
'DELETE FROM wp_options WHERE option_name LIKE "_transient_%"' |
Tak to je vše, nezapomeňte zálohovat a pokud používáte jiný prefix databáze, než wp_ tak musíte příkazy upravit dle toho.
Napsat komentář