Ich habe versucht, eine einseitige WordPress-Vorlage mit Twig zu rendern, aber bisher ist alles fehlgeschlagen.
{% extends 'layouts/base.twig' %}
{% block content %}
{% for page in pages() %}{{ set_up_page(page) }}
{% include 'content/content-' ~ page.post_name ~ '.twig' %}
{% endfor %}
{% endblock %}
So sieht eine der Vorlagen aus:
<section id="about" {{ wp.post_class }}>
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h2 class="section-heading">{{ wp.the_title }}</h2>
<h3 class="section-subheading text-muted">{{ wp.get_post_meta(wp.get_the_ID() , 'st_page_subtitle', true) }}</h3> <!-- To be Changed to subtext for title -->
</div>
</div>
<div class="row">
<div class="col-lg-12">
{{ wp.the_content }}
</div>
</div>
</div>
Die entsprechenden Funktionen:
$wpgetpages = new Twig_SimpleFunction("pages", function() {
$currentID = get_the_ID();
$menu_order = wp_get_nav_menu_items('header');
$menu_items = array();
foreach($menu_order as $item) {
$menu_items[] = $item->ID;
}
$args = array('post_type' => 'page',
'status' => 'publish',
'exclude'=> $currentID,
'orderby' => 'menu_order',
'order' => 'ASC'
);
$pages = get_posts($args);
return $pages;
});
$wpsetpages = new Twig_SimpleFunction("set_up_page", function($arg) {
setup_postdata($arg);
});
self::$twig_environment->addFunction($wpposts);
self::$twig_environment->addFunction($get_theme_options);
self::$twig_environment->addFunction($wppostdata);
self::$twig_environment->addFunction($wpgetpages);
self::$twig_environment->addFunction($wpsetpages);
Dadurch werden die Vorlagen angezeigt, aber es wird der Seitentitel aus der Vorlage als Titel der Startseite festgelegt
Wäre wirklich dankbar für jede Hilfe, um dies zu beheben.
Es sieht nicht so aus, als hätten Sie den Vorlagencode geteilt, der für die Ausgabe des Seitentitels verantwortlich ist …
– rnevius
24. September 2015 um 17:29 Uhr
@rnevius Ich habe eine der gerenderten Vorlagen hinzugefügt
– Bazinga777
24. September 2015 um 18:18 Uhr
Haben Sie versucht, einfach zu verwenden
wp.title
?– rnevius
26. September 2015 um 20:42 Uhr
@Bazinga777 könnten Sie uns das Snippet zur Verfügung stellen (oder hervorheben), das den Code zum Festlegen des Titels enthält?
– Sitilge
27. September 2015 um 7:55 Uhr
@sitilge wp.the_title ist ein Proxy für die WordPress the_title-Methode. Es ist seltsam, dass der Inhalt der Seiten richtig angezeigt wird, aber nicht die Titel dafür. Ich verwende das folgende Design-Framework github.com/zach-adams/sprig
– Bazinga777
27. September 2015 um 8:36 Uhr