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

 

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

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.

Hromadné smazání SPAMu

DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';

Hromadné smazání neschválených komentářů

DELETE FROM wp_comments WHERE comment_approved = 

Uzavření komentářů, pro starší články

UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2016-01-01' AND post_status = 'publish';

Vypnutí pinbacků a trackbaků

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.

DELETE from wp_comments WHERE comment_author_url LIKE "%urlspamera%" ;

Výpis článků, starších, než X dní/strong>

Místo X, použijte počet dní.

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.

UPDATE wp_post SET post_content = replace(post_content, '[facebook-button]', '' ) ;

Změna článků na stránky

UPDATE wp_posts SET post_type = 'page' WHERE post_type = 'post'

Změna autora u všech článků

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

Kompletní smazání všech revizí

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.

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

UPDATE wp_posts SET guid = replace(guid, 'http://www.old-site.com','http://www.new-site.com);

Změna defaultního Admin uživatele

UPDATE wp_users SET user_login = 'Master' WHERE user_login = 'Admin';

Manuální přepsání vašeho hesla

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

UPDATE wp_posts SET 'post_content'
= REPLACE ('post_content',
'OriginalText',
'NewText');

Změna url obrázků, po přesunu webu

UPDATE wp_posts
SET post_content = REPLACE (post_content, 'src=”http://www.myoldurl.com', 'src=”http://www.mynewurl.com');

Vymazání všech transient

'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.

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Related posts

2 Comments

  1. Pingback: Nastavení WordPressu pro AMP - Accelerated Mobile Pages - Musilda.cz

Leave a Reply

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *