Dokumentace Best Practice pro WordPress

WordPress dlouho postrádal aktivitu podobnou příručce PHP The Right Way, kterou má k dispozici komunita PHP vývojářů. Ještě nedávno platilo, a obávám se, že stále ještě platí a nějakou dobu platit bude, že kdo se chtěl ponořit do WordPressu, musel začít studiem kodexu, prokousávat se zdrojovým kódem (vedle tradičního trac je tento již nějakou dobu také na GitHubu, což potěší určitě ty, kteří SVN opovrhují) a studovat řadu tutoriálů, mezi kterými navíc musel vybírat ty, které jsou kvalitní, správné a aktuální. Situace se ovšem, a hodí se říci i naštěstí, pomalu mění k lepšímu.

Continue reading Dokumentace Best Practice pro WordPress

Funkce wp_using_ext_object_cache

V nedávno jsem se podrobněji zabýval mechanismem stojícím za funkcí wp_suspend_cache_addition – popisoval jsem použití statické proměnné.

Při pohledu do těla funkce wp_using_ext_object_cache ovšem na statickou proměnnou nenarazíme – je použita globální proměnná. Proč?

function wp_using_ext_object_cache( $using = null ) {
	global $_wp_using_ext_object_cache;
	$current_using = $_wp_using_ext_object_cache;
	if ( null !== $using )
		$_wp_using_ext_object_cache = $using;
	return $current_using;
}

Při hledání ve zdrojovém kódu WordPressu jsem nenarazil na místo, kde by bylo ke globální proměnné přistupováno a bylo třeba ji inicializovat jako globální, namísto statické.

Doufám, že jsem jen něco přehlédl a že to není dáno jen tím, že úroveň PHP vývojářů má klesající tendenci (funkce wp_suspend_cache_addition je o dva roky starší než zde diskutovaná funkce).

Za jakékoli tipy předem děkuji.

Externí Object Cache ve WordPressu

V případě, že bychom ze své instalace WordPressu na serveru, kde máme k dispozici trochu víc, než jen Apache s PHP a MySQL, chtěli vymáčknou trochu víc, je možné dosadit vlastní backend pro Object Cache a změnit její podstatu z Run-Time Cache na persistentní.

Pojďme se společně podívat na to, jak je možnost vlastního backendu pro Object Cache řešena v samotném WordPressu a jak si, trochu si zapřeháním, třeba napsat vlastní backend.

Continue reading Externí Object Cache ve WordPressu

Object Cache ve WordPressu

Detailní studium implementace Object Cache API v jádře WordPressu nám dokáže odpovědět na to, jak lze optimalizovat náš kód, a to ať již tvoříme plugin či šablonu. Pokud budeme vědět, co za nás WordPress na poli výkonu řeší a co nikoli, můžeme bez obav svobodně tvořit. Kód, který nás zajímá lze nalézt převážně v souboru wp-includes/cache.php.

Continue reading Object Cache ve WordPressu

Dočasné zablokování přidávání nových hodnot do Object Cache

Ne vždy je přidávání nových hodnot do Object Cache ve WordPressu žádoucí. Jsou operace generující velké množství cachovatelných dat, které nejsou při dalším zpracování třeba – typicky třeba větší importy dat.

Continue reading Dočasné zablokování přidávání nových hodnot do Object Cache