단일 페이지 워드프레스를 나뭇가지로 렌더링하는 방법
Twig로 한 페이지 워드프레스 템플릿을 렌더링하려고 했지만, 지금까지 모든 것이 실패했습니다.
{% extends 'layouts/base.twig' %}
{% block content %}
{% for page in pages() %}{{ set_up_page(page) }}
{% include 'content/content-' ~ page.post_name ~ '.twig' %}
{% endfor %}
{% endblock %}
템플릿 중 하나는 다음과 같습니다.
<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>
대응하는 기능은 다음과 같습니다.
$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);
그러면 템플릿이 표시되지만 템플릿의 페이지 제목이 홈 페이지의 제목으로 설정됩니다.
이 문제를 해결하는 데 도움을 주시면 정말 감사하겠습니다.
제가 당신의 질문을 맞혔는지 모르겠지만 비슷한 문제를 인용합니다.
싱글 투고 페이지에서 single_post_title이 아닌_title을 사용하고 있었습니다.
그러니까 바꿔봐
<h2 class="section-heading">{{ wp.the_title }}</h2>
로.
<h2 class="section-heading">{{ wp.single_post_title }}</h2>
관련 항목도 참조하십시오.
- https://codex.wordpress.org/Function_Reference/single_post_title - outside 루프 사용
- https://codex.wordpress.org/Function_Reference/the_title - 내부 루프 사용
질문이 좀 애매하네요.그러나 이 단일 페이지에 표시되는 모든 단일 페이지에 "HOME"이라는 제목이 있는 것이 주요 문제라면, 이 작업을 수행해야 합니다.
변경해 보겠습니다.
<h2 class="section-heading">{{ wp.the_title }}</h2>
다음과 같이 입력합니다.
<h2 class="section-heading">{{ wp.get_post_meta(wp.get_the_ID() , 'title', true) }}</h2>
소제목에도 효과가 있다면 제목에도 효과가 있을 것입니다.
WordPress 테마 내에서 Twig를 사용하고자 한다면 Timber라는 플러그인을 설치하는 것을 강력히 추천합니다.WordPress 고유의 복잡한 통합 작업을 대부분 처리합니다.테마를 정리하는 방법에 대한 더 나은 아이디어를 얻기 위해 확인할 수 있는 첫 번째 테마가 있습니다.https://github.com/timber/starter-theme
또, 포괄적인 메뉴얼도 준비되어 있습니다.이 매뉴얼은 https://github.com/jarednova/timber/wiki 에서 찾을 수 있습니다.
언급URL : https://stackoverflow.com/questions/32767410/how-to-render-a-single-page-wordpress-template-with-twig
'programing' 카테고리의 다른 글
Ruby JSON 구문 분석 변경 해시 키 (0) | 2023.03.18 |
---|---|
MongoDB/NoSQL: 문서 변경 기록 보관 (0) | 2023.03.18 |
Angular에 사용자 지정 유효성 검사를 추가하는 방법JS폼? (0) | 2023.03.18 |
모든 플러그인이 이미 업데이트되어 있는 경우 WordPress에 플러그인 업데이트가 1개 있음을 표시함 (0) | 2023.03.18 |
여러 Spring Boot 간에 테스트컨테이너를 재사용하는 방법테스트? (0) | 2023.03.18 |