Chceme zobrazit nějaký konkrétní obsah na stránce a všech jejích potomcích. Například obrázek, který bude shodný pro všechny stránky, které tématicky zapadají do jedné kategorie webu. To znamená na rodičovské stránce a zároveň všech jejích podstránkách.
Nejdříve je třeba vyrobit funkci, která zjistí kořenového rodiče podstránky. Tu vložíme do souboru functions.php. Vypadat bude následovně:
function get_root_parent($page_id)
{
global $wpdb;
$parent = $wpdb->get_var("SELECT post_parent FROM $wpdb->posts WHERE post_type='page' AND ID = '$page_id'");
if ($parent == 0)
return $page_id;
else
return get_root_parent($parent);
}
Rekurzivně projde všechny rodiče až po toho posledního, kořenového.
A nakonec v místě, ve kterém chceme v šabloně zobrazovat obsah zavoláme s příslušným IDčkem nějakou podobnou konstrukci
<?php if ($post->ID == 4 || get_root_parent($post->ID) == 4) { ?>
// obsah
<?php } ?>
Při tvorbě horizontálního CSS menu pomocí unordered listu jsem narazil na chybu, která vzniká kvůli použití display: inline, popř. inline-block nad list-itemem unordered listu. Ten má nastaveno display: inline kvůli tomu, aby se položky listu zobrazovaly v řádku. Jenže to je právě příčinou vzniku malé mezery mezi jednotlivými list-itemy. Řešením je nenastavovat list-itemu display: inline, ale místo toho mu dát float: left. Pak už funguje tak jak má.
Windows Mobile mají jednu nepříjemnou vlastnost. Pokud se připojíte na GPRS/EDGE a pak ukončíte program, který jej používal, zůstane připojení i nadále aktivní. Když nic jiného, mírně to vybíjí baterii. Řešení je opět v registrech.
V HKEY_LOCAL_MACHINECommConnMgrPlannerSettings se nachází klíč SuspendResume - stačí buď smazat tento klíč nebo jej přejmenovat na něco jiného. Pak dojde k okamžitému odpojení GPRS hned po ukončení programu, který jej využíval.
Instalace CorePlayer nebo TomTom 5.2 na Windows Mobile vede k rozhození podsvícení – telefon nezhasne displej. Je to známý bug WM, řešení se ukrývá v registrech.
Stačí nastavit (popřípadě ji vytvořit, pokud neexistuje) hodnotu klíče Display, který se nachází v HKCUControl PanelPower např. na 30. Číslo znamená počet vteřin, za které displej úplně zhasne.
Jednou z nových features ve WM6.1 je i „vláknový“ (threaded, teď mě nenapadá vhodnější slovo) přístup ke čtení SMS. Osobně to nepovažuji za zrovna nejlepší řešení, protože pokaždé při spuštění Messagingu telefon sahá na SMS a uspořádává je podle odesilatele. Je sice o něco rychlejší vyhledávání, protože SMS jsou tak rozděleny jen podle odesilatelů, na druhou stranu to ale celou aplikaci neuvěřitelně zpomaluje.
Threaded SMS lze vypnout v registrech, a to přidáním klíče SMSInboxThreadingDisabled.
Pro vypnutí vytvořte tento klíč v HKCU/Software/Microsoft/Inbox/SettingsOEM/ a nastavte jeho hodnotu na 1.
Zpětné obnovení probíhá buď nastavením na 0 nebo smazáním klíče.
Pokud by nefungovalo, druhá možnost je
HKCUSoftwareMicrosoftInboxSettings a DWORD SMSAvailable nastavit na 0. Zapnutí threaded sms proběhne nastavením na 1.