Kdo používáte redakční systém WordPress, možná jste se někdy setkali s chybou, kdy vám nešel vytvořit příspěvek ani statická stránka. U jednoho webu jsem to nedávno řešil a pokud by vás to taky někdy potkalo v budoucnu, budete vědět, jak na to.
Příčina chyby
Než vám ukážu postup řešení, určitě bych rád zmínil, jak to vzniklo. Obnovoval jsem starší verzi webu z databáze uložené na disku. Zálohu jsem si dělal sám a byla jen pár dní stará. Je mi divné, že by to způsobilo právě toto, navíc jsem zkusil i obnovu databáze uložené na webhostingu. Dělalo to to samé. Takže chyba DB to být nemohla. Začal jsem pátrat a našel postup, který naštěstí pomohl.
Obvyklé rady
Často je v tomto případě doporučováno deaktivovat pluginy nebo vybrat jinou šablonu. Zkusil jsem obojí a ani jedno mi nepomohlo.
Moje řešení
Přihlaste se do administrace MYSQL databáze. Odkaz najdete po přihlášení v rozhraní webhostingu, nejčastěji sekce Databáze. Zde najdete url adresu, přes kterou se do DB na hostingu dostat.
Přihlašovací údaje najdete v souboru config.php na ftp.
Jméno je zde
/** MySQL database username */
define(‚DB_USER‘, ‚cistepc‘);
Heslo je zde
/** MySQL database password */
define(‚DB_PASSWORD‘, ‚123456‘);
Po úspěšném přihlášení rozklikněte vlevo v menu název databáze a dále poté složku wp_posts.
Dále pokračujte na záložku Struktura a zde u prvního řádku ID klikněte u volby Operace na Změnit.
Na této stránce u hodnoty A_I zašrtněte checkbox.
Poté se vám zobrazí informace, že tabulka wp_posts byla úspěšně změněna. U hodnoty ID – Další uvidíte informaci AUTO_INCREMENT.
Doplňující informace
Auto increment v databázi WordPress (typicky MySQL nebo MariaDB) znamená, že hodnota určitého sloupce (většinou primárního klíče, například ID
) se automaticky zvyšuje o jedna s každým nově vloženým záznamem.
Typický příklad ve WordPressu
- Každý příspěvek (nebo stránka, uživatel, komentář, atd.) v databázi má svůj unikátní
ID
, které se nastavuje automaticky. - Sloupec
ID
v tabulcewp_posts
je tedy auto increment, což znamená, že nemusíš manuálně nastavovat hodnotu – databáze ji sama přiřadí při každém novém příspěvku nebo stránce.
Příklad
ID | post_title |
---|---|
1 | Můj první příspěvek |
2 | Druhý článek |
3 | Třetí příspěvek |
Když přidáte další příspěvek, databáze mu automaticky přiřadí ID = 4
.
Výhody
- Zaručuje unikátnost každého záznamu.
- Zjednodušuje práci při programování (není potřeba ručně generovat jedinečná čísla).
Jak to funguje v databázi WordPressu
Například definice tabulky v databázi může vypadat takto:
CREATE TABLE wp_posts (
ID bigint(20) unsigned NOT NULL AUTO_INCREMENT,
post_title text NOT NULL,
PRIMARY KEY (ID)
);
Díky klíčovému slovu AUTO_INCREMENT databáze automaticky zajistí, že se každý další nový příspěvek vložený do této tabulky dostane o jedno vyšší hodnotu ID.
Upozornění
VŽDY, když děláte úpravy v databázi, ji předem ZÁLOHUJTE. Díky tomu můžete případně vrátit zpět verzi původní, kdyby se něco nepovedlo.
Související
- Jak nastavit nové heslo v MYSQL databázi
- Jak zmenšit databázi WordPress s WP-Sweep pluginem
- Jak přejít na novější databázový server
- V čem upravit velký soubor SQL databáze
Buďte první kdo přidá komentář