Pokud nepatříte mezi zasvěcené, přečtěte si třeba článek na Rootu. Bez něj vlastně nebudete vědět “vo co go”, takže ho hezky přelouskejte. Ušetří vám hodně času.
WordPress je s RSS čtečkami velký kamarád a přece většina uživatelů odebírá pouze hlavní kanál. Možná ani netuší, jak jednoduché je hezky si všechno nastavit. Můžete si vybrat z jaké rubriky, jakými tagy oštítkované články chcete mít. Pro wordpress a IT světem nepolíbené můžete vytvořit speciální stránku, kde jim bude vygenerováno url, podle jejich voleb.
K tomu účelu si vytvoříme vlastní šablonu stránky. Nejlépe, když založíte nový soubor libovolného názvu, překopírujete do něj obsah page.php a úplně nahoru přidáte něco ve stylu:
/* * Template Name: RSS Kanály * * */
Tím si připravíte novou šablonu stránky. Musíme nějak nahradit běžně vypisovaný obsah možnostmi pro zvolení svého vlastního feedu. The_content tedy nahradíme:
<form action='' method='post'> <strong>Rubriky:</strong><br> <?php $categories = get_categories(); foreach ($categories as $category) { echo '<label><input type="checkbox" name="c' . $category->term_id . '">' . $category->cat_name . '</label>'; } ?> <div style='clear: both'></div> <br><strong>Štítky:</strong><br> <?php $tagy = get_tags(); foreach ($tagy as $tag) { echo '<label><input type="checkbox" name="t' . $tag->slug . '">' . $tag->name . '</label>'; } ?> <div style='clear: both'></div> <br><strong>Hledaná slova:</strong></br> <input type='text' value='' name='h'><br><br> <input type='hidden' value='' name='odeslat'> <input type='submit' value='Odeslat'> <br> </form>
Nyní máme uživatelské rozhraní, pomocí kterého si uživatel vybere, co chce odebírat. Samotné provedení má pak na starosti tento script:
if (isset($_POST['odeslat'])) { $url = bloginfo('wpurl') . "/?feed=rss2"; $cat = "&cat="; $tag = "&tag="; foreach ($_POST as $key => $item) { $typ = substr($key, -(strlen($key)), 1); if ($typ == 't') $tagy .= substr($key, 1) . ","; elseif ($typ == 'c') $caty .= substr($key, 1) . ","; elseif ($typ == 'h') $s.= "&s=" . str_replace( array('Á', 'Ä', 'É', 'Ë', 'Ě', 'Í', 'Ý', 'Ó', 'Ö', 'Ú', 'Ů', 'Ü', 'Ž', 'Š', 'Č', 'Ř', 'Ď', 'Ť', 'Ň', 'Ľ', 'á', 'ä', 'é', 'ë', 'ě', 'í', 'ý', 'ó', 'ö', 'ú', 'ů', 'ü', 'ž', 'š', 'č', 'ř', 'ď', 'ť', 'ň', 'ľ'), array('a', 'a', 'e', 'e', 'e', 'i', 'y', 'o', 'o', 'u', 'u', 'u', 'z', 's', 'c', 'r', 'd', 't', 'n', 'l', 'a', 'a', 'e', 'e', 'e', 'i', 'y', 'o', 'o', 'u', 'u', 'u', 'z', 's', 'c', 'r', 'd', 't', 'n', 'l'), $item);; } if ($tagy != "") { $tag .= substr($tagy, 0, -1); $url.=$tag; } if ($caty != "") { $cat .= substr($caty, 0, -1); $url.=$cat; } if ($s != "&s=") { $url .= $s; } header("location: $url"); }
Kód vložíme na začátek stránky. V administraci page založte novou stránku, vymyslete nějaký hezký název a vyberte šablonu RSS kanály.