Více výpisů článků najednou (Multiple loops)

Proč někdo potřebuje více výpisů článků (dále již jen multiple loops)? WordPress codex odpovídá v tomto duchu:

Odpověď na tuto otázku je, v zásadě taková, že chceme udělat s jednou skupinou článků něco jiného, než s druhou skupinou článk, ale přitom chceme obě skupiny vypsat na jedné stránce zároveň. „Něco jiného“ může znamenat prakticky cokoli. Limitovaní jste pouze vašemi znalostmi PHP a vaší představivostí.

Stručný popis základního cyklu pro výpis příspěvků

Než se pustíme do multiple loops, je dobré vědět něco o základní cyklu pro výspis článků. Tento vypadá takto:

/—code php





\—

Nejprve se ujistíme, že je co vypisovat (první řádek). Na stránce archivu či kategorie (soubory archive.php či category.php) jde o to, jestli jsou v daném archivu (dle měsíce, data, roku, autora, štítku) či kategorii nějaké články. Určení okruhu článků (výběr kategorie či archivu) je provedeno z url adresy. Pakliže máme články, které splňují kritéria, vezme kód každý jednotlivý článek a provede s ním to, co mu řekneme.

Zpracování stejného souboru článku dvakrát

No a nyní se již můžeme pustit do více výpisů takových článků. Nejdříve si předvedeme jak zpracovat stejný okruh článků znovu. Čili ještě jednou provést výpis stejných článků, ovšem třeba s jiným formátováním výstupu.

Jde o celkem jednoduchou operaci. Stačí použít funkci rewind_posts(). Ta přetočí pomyslné počítadlo vypsaných článků zpět na začátek a další výpis začně znovu, pěkně od začátku.

/—code php






\—

Dva různé soubory článků

Pokud ovšem chceme mít na stránce dva různé soubory článků, bude již operace trochu složitější, ovšem stále jde celkem o banalitu, kterou se lze snadno naučit.

Poumůže nám funkce query_posts(), která vytvoří nový objekt s články a přetočí jej na začátek, přičemž stávající smaže a nelze jej dále znovu použít. Na stránce popisu funkce query_posts() se dočtete možnosti, jak specifikovat jaké články chcete vybrat.

Použití je poté následující:

/—code php
// nejprve proběhne výpis tradičních článků



// a poté vybereme posledních 5 článků z kategorie nezařazené
// parametr category_name využívá název url tzv. slug, nikoli název




\—

Dva různé soubory článků se zachováním původního souboru

Výše uvedené řešení, jak bylo napsáno, nezachovává původní soubor článků. To může být někdy na škodu, jelikož s ním třeba chceme také ještě pracovat. Původní soubor lze ovšem zachovat. Řešení je následující:

/—code php



have_posts()) : $muj_soubor->the_post(); ?>

// pro pochopení toho,že původní soubor byl zachován přidávám jeho přetočení a nový výpis původního souboru







\—

Jak vidíte v kódu, nemáte přístup, v novém souboru, k funkcím have_posts či the_post přímo. Ale skrze název vámi vytvořeného objektu muj_soubor. Na to je nutné pamatovat. A zároveň platí, že uvnitř cyklu while již máte přístup ke všem funkcím (the_content, the_title, the_permalink a podobně) přímo, bez reference na objekt.

Objekt typu WP_Query() přijímá stejné parametry jako funkce query_posts().

Vnořené soubory článků (nested loops)

Také se může stát, že potřebujete ještě před dokončením jednoho výpisu článků vypsat další soubor. I toto je řešitelné, ovšem má to svá specifika, na která je nutné myslet. Je zde opět nutnost vytvořit nový objekt a na konci výpisu je nutné zavolat funkci wp_reset_postdata()

/—code php
// vybereme články z kategorie s ID 3
$muj_soubor = new WP_Query( „cat=3“ );
if ( $muj_soubor->have_posts() ) {
while ( $muj_soubor->have_posts() ) {
$muj_soubor->the_post();
the_content(); //výpis obsahu již probíhá bez reference na objekt muj_soubor
}
}
wp_reset_postdata(); // tento řádek je nesmírně důležitý a u vnořených výpisů nesmí chybět!
\—

Informace o této problematice na WordPress codex (anglicky):

http://codex.wordpress.org/The_Loop#Multiple_Loops

Vnořené výpisy článků: http://codex.wordpress.org/The_Loop#Nested_Loops

Reference funkce query_posts: http://codex.wordpress.org/Function_Reference/query_posts

Popis objektu WP_Query: http://codex.wordpress.org/Function_Reference/WP_Query

Správné ošetření použití pluginů a vlastních funkcí ve WordPress šabloně

Aneb

**Fatal error: Call to undefined function …**

Ačkoli WordPress nabízí v základu velmi slušnou škálu funkcí, jeho popularitu zvyšuje snad ještě větší množství pluginů, které práci se základním wordpressem buď „pouze“ zjednodušují či zpříjemňují, nebo dokonce rozšiřují.

Poznámka: asi nejlepším zdrojem pluginů je přímo na oficiálních stránkách wordpressu: http://wordpress.org/extend/plugins/

Mnoho tvůrců šablon či administrátorů webových stránek založených na WordPressu proto rádo sáhne po nějakém tom pluginu. Stáhnou jej, nahrají přes FTP do příslušného adresáře (pakliže nevyužijí možnost vyhledávání a instalace pluginu přímo z administrace wordpressu) a vloží nově přidanou funkci do šablony. Vše funguje tak jak má. Až do doby, kdy plugin deaktivují nebo upgradují na vyšší verzi, ve které plugin nefunguje. Poté se jejich stránka nezobrazí vůbec, nebo se zobrazí jen její část a poté chyba: „Fatal error: Call to undefined function ….“

To svědčí o tom, že tvůrce šablony řádně neošetřil užití pluginu. Jak na to? Hned si to vysvětlíme.

Ošetření pluginu pomocí function_exists()

Vezměme si pro demonstraci plugin Limit Post Add-on. Tento plugin nám rozšiřuje možnosti WordPressu o limit počtu slov při výpisu článku na hlavní stránce, archívech a rubrikách (samozřejmě jej lze užít i jinde). A dělá to jednoduše. Dle instalačních pokynů stačí nahradit funkci the_content(); funkcí the_content_limit(200, „continue…“); ( „5) Replace the_content(); with the_content_limit(200, „continue…“);“ )

To ale samozřejmě nestačí. Když šablonu vezmete a přenesete ji poté třeba na jinou instalaci wordpressu bez tohoto pluginu, nebo jej deaktivujete či jinak znemožníte jeho fungování, dostane se vám již zmíněného upozornění: „Fatal error: Call to undefined function the_content_limit„.

K ošetření tohot možného stavu použijeme nativní PHP funkci function_exists(). A sice takto:

<?php if ( function_exists(‘the_content_limit’) : ?>
<p><?php the_content_limit(200, ‘Continue…’);  ?></p>
<?php else : ?>
<p><?php the_content(); ?></p>
<?php endif; ?>

Všimněte si, že v kódu nejdříve otestuji existenci funkce the_content_limit a pakliže existuje, tak ji zavolám. Pokud ne, mám připravený tzv. fall-back (funkci, která se vykoná při selhání podmínky) na klasický the_content().

Poznámka: Fall-back je v tomto případě nepostradatelný. Pokud by došlo k deaktivaci pluginu, na stránce by se nevypsal žádný obsah! A to nechceme.

Ošetření pomocí plugin_is_active()

Na rozdíl od prvního řešení nyní využijeme „wordpressí“ funkci (funkce function_exists() je PHP nativní). Použití této funkce je vhodné v případě, kdy nevíme přesně, jaké funkce plugin vytváří a zpřístupňuje. Co ovšem musíme znát, je adresář ve kterém je plugin nainstalovaný a název php souboru pluginu (většinou jsou tyto názvy totožné).

<?php if ( is_plugin_active(‘adresar-pluginu/soubor-pluginu.php’) ) : ?>
//vykonáme požadované operace pro případ, že plugin aktivní je
<?php endif; ?>

Namísto adresar-pluginu přijde název adresáře (složky) ve které je plugin nainstalovaný. Nejedná se o složku „wp-content/pluigns“ ale o složku obsaženou právě v této složce. Cestu nezadáváme absolutní, ale relativní ke složce „/wp-content/plugins/“ a namísto „soubor-pluginu.php“ přijde název souboru pluginu (jak jsem psal, je většinou totožný s názvem pluginu s pomlčkami namísto mezer a také bývá totožný s názvem složky pluginu).

Takže do budoucna již žádné nepříjemné

Fatal error: Call to undefined function…

Vlastní řazení výpisu rubrik ve widgetech i funkcích

Použití rubrik, respektive jejich výpisu častou používáme k vytvoření navigace. Funkce wp_list_categories() je snad každému tvůrci WordPress šablon známá. Tato funkce nám ovšem, stejně jako její „front-end“ ve widgetech, dává na výběr řazení dle následujících kritérií:

  • ID
  • name – Defaultní nastavení
  • slug
  • count
  • term_group

**Vlastní řazení výpisu rubrik**

Často by se nám ale hodilo vlastní řazení, ideálně takové, které si můžeme přizpůsobit. Od verze 3.0 máme ve WordPressu možnost vytvářet uživatelská menu, čímž lze toto vlastní řazení nahradit (O WordPress menu bude některý další příspěvek). Ovšem existuje také jednoduchý plugin – My Category Order -, který nám do navigačního menu v administraci do sekce „Příspěvky“ přidá položku „Pořadí rubrik“, kde si pořadí můžeme namixovat dle svých představ jednoduchým „drag & drop“ (tažením, jak se hezky česky překládá)

Tohoto pluginu můžeme poté využít ve widgetech. Sem již česká lokalizace nedorazila a tak máme k dispozici widget „My Category Order“ s volbou Order by: „My order“ zohledňující naše pořadí.

Ovšem jak již titulek napovídá, lze naše pořadí zohlednit i při použití funkce wp_list_categories() a to přidáním parametru ‘orderby=order’ (namísto například orderby=slug či orderby=name).

**Nevýhody užití pluginu oproti řešení dle WordPress Menu**

Jistou, i když drobnou a odstranitelnou, nevýhodou u tohoto postupu, oproti wordpress menu, je nemožnost tažením při sestavování pořadí, nějakou tu rubriku vyjmout (to při použití wordpress menu lze). Ovšem i rozhraní widgetu nabízí možnosti „Vyjmout“ (sem čeština dorazila) a „Exclude Tree“ (sem nedorazila :) ). Samozřejmě při použití funkce wp_list_categories() používáme analogicky ‘exclude=1,2′ a ‘exclude_tree=1′. Jak jsem již psal, při použití wordpress menu máme posléze možnost skrze administraci bez zásah do šablony jednoduše kategorie vyjmout. A není nutné to navíc, při použití jak ve widgetu tak v šabloně, nastavovat na dvou místech.

Poznámka: Rozdíl mezi ‘exclude’ a ‘exclude_tree’ – Při užití exclude se z výpisu vyjme jen a pouze kategorie s korespondujícím ID. Při použití exclude_tree se vyjme kategorie s korespondujícím číslem, ale také všechny její podkategorie (subcategories).

**Ošetření pro případ nezapnutného pluginu**

Použití tohoto pluginu v šabloně není navíc nutné ošetřovat pomocí function_exists() či is_plugin_active() funkcí. Pakliže plugin nebude aktivní, funkce wp_list_categories() v šabloně s nastaveným ‘orderby=order’ bude tento parametr ignorovat a výpis provede dle defaultní hodnoty parametru orderby ‘orderby=name’ (čili vypíše kategorie seřazené dle názvu).

Speciální šablona pro konkrétní rubriku, stránku či příspěvek

Někdy se stane, že potřebujete v redakčním systému WordPress pro nějakou konkrétní kategorii, stránku či příspěvek zvláštní zobrazení – šablonu. Chcete třeba pro určitou rubriku odstranit nadpis, nebo nechat vypsat nějaký text navíc. K docílení tohoto efektu můžete použít složitý systém podmínek v php, nebo jednoduše vytvořit nový soubor (od WordPress 2.9). Jak tedy na to?

Řešení 1: WordPress template slug

Máte-li již existující šablonu, na které chcete provést změny (dejme tomu category.php  pro zobrazení výpisu rubrik), vezmete tento soubor a nakopírujete jeho aktuální obsah do nového souboru se speciálním názvem. Název souboru bude podle jednoho z následujících schémat:

(pokud ve vaší šabloně neexistuje soubor category.php, užijte soubor archive.php a pokud ani ten neexistuje, použijte index.php – déle uvedené názvy souborů se ale nemění v závislosti na názvu souboru s původním obsahem)

category-1.php (pro kategorii s ID 1)

category-nazev-kategorie.php (pro kategorii s názvem „Název kategorie“)

Obsah tohoto nově vytvořeného souboru si poté upravíte dle potřeby.

Obdobně lze vytvořit takto speciální šablony pro jednotlivé příspěvky (post-5.php či post-nazev-prispevku.php) i stránky (page-1.php či page-nazev-stranky.php).

Řešení 2: Custom templates for wordpress page

Přiřazení speciální šablony ke konkrétní kategorii, přípěvku či článku si už WordPress dále zařídí sám.

Pro stránky navíc můžete vytvořit speciální šablonu, která bude přístupná skrze administrační rozhraní při tvorbě či editaci stránky a můžete ji tedy užít pro více stránek na vašem webu. Opět vyjdeme ze základního souboru page.php, jehož obsah si nakopírujeme do nového souboru, nyní již s libovolným názvem. Na úvod (na úplně první řádek) tohoto .php souboru vložíte následující kód:

<?php
/*
Template Name: Nazev sablony
*/
?>

Upravíte si samozřejmě název šablony, který je zapsán za dvojtečkou. V našem případě jde o Nazev sablony (je rozumné nepoužívat při volbě názvu diakritiku, co kdy to někdy přeci jen zlobilo ;) )

Poznámka: Pro úpravu souborů můžete využít například Bluefish editor s nainstalovaným neoficiálním rozšířením pro podporu WordPress syntaxe a možností vložit již hotovou část kódu (mezi již hotovými kódy je i kód pro vytvoření nové šablony pro stránku): http://david.binda.cz/turn-bluefish-editor-into-powerful-wordpress-ide

Interní prolinkování příspěvků a stránek

**RB Internal Links**
„http://wordpress.org/extend/plugins/rb-internal-links/“:http://wordpress.org/extend/plugins/rb-internal-links/

Link to posts and pages within your blog using shortcodes, similar to a wiki or cms. No need to remember full URLs, post ids or slugs with the wysiwyg
As well as quickly typing in the link tag there is a tinymce wysiwyg plugin that allows you to search for posts by category.

*Alternativy:*

**Link to post**
„http://wordpress.org/extend/plugins/link-to-post/“:http://wordpress.org/extend/plugins/link-to-post/

This plugin permits you to easily create a link to an existing content of your site. It adds a button to the tinymce and quicktags editors, which list the existing articles, pages, category, tags.

Na rozdíl od RB internal Links odkazuje Link to post absolutně (RB používá shortcode s ID stránky či postu) a nenabízí jako RB internal Links volbu odkazování do nového okna, RB internal Links zas neumí odkazovat na rubriky či tagy.

**Hikari Internal Links**
„http://wordpress.org/extend/plugins/hikari-internal-links/“:http://wordpress.org/extend/plugins/hikari-internal-links/

Don’t worry anymore of linking a post or a category, to later change its title or slug, or changing your posts permalinks, and creating invalid links to your own site pages.

Hikari Internal Links provides a shortcode that dynamically generates links to most WordPress resources. You can query these resources based on their ID or slug, and these links are generated dynamically. Therefore if you change a resource’s title or permalink, its links will be updated automatically.

Automatické prolinkování ze zadaných klíčových slov
***************************************************

**Internal Link Building**

New SEO Plugin for WordPress: Internal Link Building

Pomocí tohoto pluginu lze jednoduše vkládat jednotlivá klíčová slova, která automaticky následně odkazují na určenou stránku či příspěvek.

*Alternativy:*

**Automatic SEO Links**
„http://wordpress.org/extend/plugins/automatic-seo-links/“:http://wordpress.org/extend/plugins/automatic-seo-links/

Forget to put manually your links, just choose a word and a URL and this plugin will replace all matches in the posts of your blog.
For each link, you can set: Title, Target, Rel.

**Digg Links**
„http://wordpress.org/extend/plugins/digg-links/“:http://wordpress.org/extend/plugins/digg-links/

With Digg Links you will be able to replace a word or sentence into another custom string.
Based on Link a Dink this plugin is ideal for affiliate marketing.

**SEO Smart Links**
„http://www.prelovac.com/vladimir/wordpress-plugins/seo-smart-links“:http://www.prelovac.com/vladimir/wordpress-plugins/seo-smart-links
„http://wordpress.org/extend/plugins/seo-automatic-links/“:http://wordpress.org/extend/plugins/seo-automatic-links/

SEO Smart Links can automatically link keywords and phrases in your posts and comments with corresponding posts, pages, categories and tags on your blog.
Further SEO Smart links allows you to set up your own keywords and set of matching URLs. Caching for speed.

*Poznámka:*

Od verze WP 3.1. je ve vizuálním editoru přepracováno **tlačítko pro vkládání odkazů**, které nyní umí rychle vyhledávat obsah na webu a přímo automaticky vložit odkaz. Články jsou průběžně vyhledávány už během psaní klíčového slova a nová funkce není omezena jen na příspěvky, takže vidíte i stránky a případné další vlastní typy obsahu. Odkaz je ale bohužel vkládán do textu jako HTML kód, takže tam v této podobě zůstane, i když třeba adresu odkazovaného příspěvku později změníte. V tomto ohledu je praktičtější **RB Internal Links**, který vkládá odkazy pomocí ID stránek, příspěvků či rubrik.

Srovnávací tabulky

**WP Comparison Charts**
„http://www.wpcomparisoncharts.com/“:http://www.wpcomparisoncharts.com/

Umožňuje pohodlné vytváření srovnávacích tabulek produktů z vybraných příspěvků, ev. automaticky ze všech příspěvků v rubrice. Lze začlenit i uživatelská pole.
Srovnávací tabulky lze generovat jak v příspěvcích, tak ve stránkách. K dispozici je i modul pro import dat z CSV souborů.
Komerční plugin.

**Price Table**
„http://wordpress.org/extend/plugins/pricetable/“:http://wordpress.org/extend/plugins/pricetable/
„http://siteorigin.com/pricetable-wordpress-plugin/“:http://siteorigin.com/pricetable-wordpress-plugin/

This plugin gives you a drag and drop interface for building price tables. It also renders those price tables using pure CSS3. They have a clean, minimal design.

Zrychlení WordPressu

**Chennai Central**
„http://wordpress.org/extend/plugins/chennai-central/“:http://wordpress.org/extend/plugins/chennai-central/
„http://indiafascinates.com/chennai/chennaicentral/“:http://indiafascinates.com/chennai/chennaicentral/

Chennai Central is a bandwidth saver plugin that makes your wordpress site support conditional GETs by search engine crawlers , feed readers and more.
Handles Last-Modified, If-Modified-Since, and Not-Modified HTTP headers with PHP/Apache.

Vkládání veřejných objektů z Facebooku na web

Chcete-li na svůj web vložit co nejjednodušším způsobem nějaký veřejný objekt (tj. obvykle z Facebook stránky, pozor – nikoli z osobního profilu!) typu: událost, stránka, fotoalbum, konkrétní fotografie, video, poznámka, nebo skupina) – hodí se vám plugin Embed Facebook. Ještě jednou zdůrazňuji, že fotky, videa či události z vašeho osobního účtu na web prostřednictvím tohoto […]

Vícejazyčný web

**WPML Multilingual CMS**
„http://wpml.org/“:https://wordpresso.ovx.cz/wp-wpml.php

Jednoznačný mercedes mezi jazykovými pluginy, opakovaně osvědčený (např. na „Jetíkovi“:http://www.jetik.info a „Novatopu“:http://novatop-system.cz/.

Multilingual WordPress

WPML makes multilingual content management easy, just like running a site in one language.

[* http://wpml.org/wp-content/uploads/2009/11/translation_controls.jpg *]

Multilingual Features

– Turns a single WordPress install into a multilingual site.
– Built-in theme localization without .mo files.
– Comments translation allows you to moderate and reply to comments in your own language.
– Professional translation, connecting expert translators with site owners (optional, you can translate yourself for free).

CMS Navigation Features

– Includes CMS navigation elements for drop down menus, breadcrumbs trail and sidebar navigation.
– Robust links to posts and pages that never break.

Architecture (for geeks)

– Translations are grouped together and not mixed in the database.
– CMS navigation elements provide accurate and easy to use site-wide navigation.
– Simple CSS for easy customization. Try WPML’s CSS „customization tool“:http://wpml.org/?page_id=909.

!!! Při potřebě přebírat stávající obsah (custom fields, galerie) „popis řešení zde“:http://wpml.org/2009/09/creating-a-multilingual-product-catalog/ .

*Alternativy:*

**Polylang**
„http://wordpress.org/extend/plugins/polylang/“:http://wordpress.org/extend/plugins/polylang/

You write posts, pages and create categories and post tags as usual, and then define the language for each of them. The translation is optional. You can have as many languages as you want. You can translate posts, pages, media, categories, post tags, menus, widgets… Custom post types, custom taxonomies, sticky posts and post formats, RSS feeds and all default WordPress widgets are supported.

„How to use »“:http://www.sitepoint.com/multilingual-wordpress-websites-with-polylang/

**xLanguage**
„http://wordpress.org/extend/plugins/xlanguage/“:http://wordpress.org/extend/plugins/xlanguage/

xLanguage is a full featured plugin allows you to blog in different language, and allows user to select which version to read. It works for blog post, page, tags, categories. The user language preferences will also select the right theme and plugins MO files.

Customization is the No. 1 design goal, after all that’s probably the reason why you want to setup a multilingual blog. The language configuration combination is highly customizable to facilitate multiple fallbacks. Every UI is extracted out, which could be optionally overridden by theme design without touching the plugin file at all.

**qTranslate**
„http://wordpress.org/extend/plugins/qtranslate/“:http://wordpress.org/extend/plugins/qtranslate/
„http://www.qianqin.de/qtranslate/“:http://www.qianqin.de/qtranslate/

qTranslate supports infinite languages, which can be easily added/modified/deleted via the comfortable Configuration Page. All you need to do is activate the plugin and start writing the content!

[* http://www.qianqin.de/wp-content/uploads/2008/02/screenshot-1.png *]

**qTranslate Plus**
„https://wordpress.org/plugins/qtranslate-xp/“:https://wordpress.org/plugins/qtranslate-xp/

qTranslate Plus is an unOfficial modified version of qTranslate (created by Qian Qin) created to be compatible with WordPress 3.9 or highter.

**ZdMultiLang**
„http://wordpress.org/extend/plugins/zdmultilang/“:http://wordpress.org/extend/plugins/zdmultilang/

– Translate posts ang pages
– Translate categories and tags
– Switch blog language
– Widget to change currently viewed language

**Bogo**
„http://wordpress.org/extend/plugins/bogo/“:http://wordpress.org/extend/plugins/bogo/
„http://ideasilo.wordpress.com/bogo/“:http://ideasilo.wordpress.com/bogo/

Bogo is a straight-forward multilingual plugin for WordPress.
Assigns one language per post. Bogo does not create any additional custom table on your database, unlike some other plugins in this category. This design makes Bogo a solid, reliable and conflict-free multilingual plugin.

For custom post types add to function.php

/—code php
function my_localizable_post_types($localizable) {
$localizable = array(‚post‘, ‚page‘, ‚mycustom_post‘);
return $localizable;
}
add_filter(‚bogo_localizable_post_types‘, ‚my_localizable_post_types‘, 10, 1);
\—

For your own language switcher in header.php:

/—code php
$uri = $_SERVER[„REQUEST_URI“];
$uri_array = split(„/“, $uri);
$uri_first = $uri_array[1];
$odkaz = ($uri_first == ‚en‘) ? ‚‚ : ‚‚;
echo $odkaz;
\—

**Transposh**
„http://wordpress.org/plugins/transposh-translation-filter-for-wordpress/“:http://wordpress.org/plugins/transposh-translation-filter-for-wordpress/

Transposh translation filter for WordPress offers a unique approach to blog translation. It allows your blog to combine automatic translation with human translation aided by your users with an easy to use in-context interface.

**xili-language**
„https://wordpress.org/plugins/xili-language/“:https://wordpress.org/plugins/xili-language/

xili-language provides for a bilingual (or multilingual) website an automatic selection of language (.mo) in theme according to the language of current post(s) or page. Theme’s behaviour can be fully personalized through settings, hooks and api.

**Multisite Language Switcher**
„https://wordpress.org/plugins/multisite-language-switcher/“:https://wordpress.org/plugins/multisite-language-switcher/

A simple, powerful and easy to use plugin that will add multilingual support to a WordPress multisite installation, i.e. multiple subdomains or folders (if you need to set up multiple sites across multiple domains, you’ll also want to use the „WordPress MU Domain Mapping plugin“:http://wordpress.org/extend/plugins/wordpress-mu-domain-mapping/ as well – as long as the domains are all hosted on the same server).