Exemplo n.º 1
0
/**
 * Funkce umožní načítání template souborů z předem definovaných adresářů,
 * ale neprochází široký rozsah složek, ale přesné složky v rootu šablony
 * dir - singles - všechny single soubory
 * dir - pages - všechny template pro složky a page.php samotné
 * dir - taxonomies - všechny taxonomy včetně taxonomy.php
 * 
 * @author Tomáš Kocifaj, Martin Hlaváč
 * @link http://www.ktstudio.cz
 * 
 * @global string $post
 * @global string $taxonomy
 * @global string $cat
 * @param string $template
 */
function kt_load_template_from_subdir($template)
{
    global $post;
    global $taxonomy;
    global $cat;
    // --- front-page ---------------------------
    if (is_front_page()) {
        return $template;
    }
    // --- single ---------------------------
    if (is_single()) {
        $ktTemplate = KT::getSingleTemplate($post);
        if ($ktTemplate) {
            return $ktTemplate;
        }
        return $template;
    }
    // --- attachment ---------------------------
    if (is_attachment()) {
        $ktTemplate = KT::getAttachmentTemplate();
        if ($ktTemplate) {
            return $ktTemplate;
        }
        return $template;
    }
    // --- page ---------------------------
    if (is_page()) {
        $ktTemplate = KT::getPageTemplate($post);
        if ($ktTemplate) {
            return $ktTemplate;
        }
        return $template;
    }
    // --- category ---------------------------
    if (is_category()) {
        $ktTemplate = KT::getCategoryTemplate($cat);
        if ($ktTemplate) {
            return $ktTemplate;
        }
        return $template;
    }
    // --- search ---------------------------
    if (is_search()) {
        return $template;
    }
    // --- taxonomy ---------------------------
    if (is_tax()) {
        $ktTemplate = KT::getTaxonomyTemplate($taxonomy);
        if ($ktTemplate) {
            return $ktTemplate;
        }
        return $template;
    }
    // --- author -----------------------------
    if (is_author()) {
        return $template;
    }
    // --- archive ---------------------------
    /*
     * Musí být načítán vždy poslední kvůli WP Query
     */
    if (is_archive()) {
        $ktTemplate = KT::getArchiveTemplate();
        if ($ktTemplate) {
            return $ktTemplate;
        }
        //return $template;
    }
    // --- default ---------------------------
    return $template;
}