it-swarm.com.de

Wie kann ich schnell zwischen benutzerdefinierten Post-Typ-Singular-Vorlagen wechseln?

Ich habe einen benutzerdefinierten Beitragstyp namens "Filme" und ich muss schnell die Vorlage wechseln, die die Filme auf dem Frontend über einen Link anzeigt. Wie geht das?

Ich habe folgende Dateien: single-movies.php template-movieslanding.php template-movieswholesale.php

Funktionalität: Auf jeder der drei Vorlagen wird eine Verknüpfungsgruppe angezeigt (siehe unten). Diese Links werden nur eingeloggten Mitarbeitern angezeigt. Das Personal ist nicht im geringsten technisch und benötigt eine vereinfachte Lösung.

Ansichten: Übersicht | Landing Page | Großhandel

Wenn auf jeden Link geklickt wird, muss ich zu dieser Vorlage wechseln. Alle Vorlagen verwenden denselben benutzerdefinierten Beitragstyp.

Vielen Dank! ~ Matt

3
torinagrippa

du kannst es so machen:

//add movies_view to query vars
add_filter('query_vars', 'my_query_vars');

function my_query_vars($vars) {
    // add movies_view to the valid list of variables
    $new_vars = array('movies_view');
    $vars = $new_vars + $vars;
    return $vars;
}

fügen Sie dann eine Vorlagenumleitung hinzu, die auf dieser query_var basiert:

add_action("template_redirect", 'my_template_redirect');

// Template selection
function my_template_redirect()
{
    global $wp;
    global $wp_query;
    if ($wp->query_vars["post_type"] == "movies")
    {
        // Let's look for the property.php template file in the current theme
        if (array_key_exists('movies_view', $wp->query_vars) && $wp->query_vars['movies_view'] == 'overview'){
            include(TEMPLATEPATH . '/single-movies.php');
            die();
        }
        if (array_key_exists('movies_view', $wp->query_vars) && $wp->query_vars['movies_view'] == 'landing'){
            include(TEMPLATEPATH . '/template-movieslanding.php');
            die();
        }
        if (array_key_exists('movies_view', $wp->query_vars) && $wp->query_vars['movies_view'] == 'wholesale'){
            include(TEMPLATEPATH . '/template-movieswholesale.php');
            die();
        }
    }
}

dann fügen Sie diese Variable zu Ihren Links hinzu

  • Zur Übersicht fügen Sie der URL? Movies_view = overview hinzu
  • Fügen Sie für Landing Page? Movies_view = landing zur URL hinzu
  • Fügen Sie für Wholesale? Movies_view = wholesale zur URL hinzu

Hoffe das hilft

5
Bainternet