세 개의 다른 페이지, page1, page2 및 page3이 있다고 가정 해 봅시다.wordpress : 한 페이지에 여러 페이지를 표시하려면 어떻게해야합니까?
정적 첫 페이지에 page1 및 page2를 표시하고 싶습니다. 루프가 page1과 page2 만 끌어 오도록 제한합니까? 아니면 루프를 시작하고 name = "page1"또는 이와 유사한 내용을 테스트 한 다음 인쇄해야합니까? 감사합니다. - 조
세 개의 다른 페이지, page1, page2 및 page3이 있다고 가정 해 봅시다.wordpress : 한 페이지에 여러 페이지를 표시하려면 어떻게해야합니까?
정적 첫 페이지에 page1 및 page2를 표시하고 싶습니다. 루프가 page1과 page2 만 끌어 오도록 제한합니까? 아니면 루프를 시작하고 name = "page1"또는 이와 유사한 내용을 테스트 한 다음 인쇄해야합니까? 감사합니다. - 조
나는 루프를 생략하고 여기에 설명 된대로 단순히 get_page($id)
을 사용 :
http://codex.wordpress.org/Function_Reference/get_page
당신이 알아야 할 모든 페이지의 ID의, 당신은 한 번에 하나씩 뽑을 수 너가 원하는 곳이라면 어디든.
다음은 사용자가 수행 할 수있는 방법의 예입니다. 한 페이지 아래에 표시하려는 모든 페이지가있는 경우이 코드가 작동합니다. 이 경우 홈 페이지 (p.post_parent = 2) 아래에 페이지를 넣었습니다.
if ($post->post_type == 'page') {
$pages = $wpdb->get_results("SELECT p.ID, p.post_name, p.post_title, p.post_parent, pm.meta_value FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS pm ON pm.post_id=p.ID AND pm.meta_key='wp_menu_nav' LEFT JOIN $wpdb->posts AS P ON P.ID=p.post_parent WHERE p.post_parent = 2 AND p.post_type='page' AND p.post_status='publish' ORDER BY p.menu_order ASC");
if ($wpdb->num_rows > 0) {
foreach($pages as $page) {
//echo $page->ID . "<br>";
$args = array('numberposts' => 1, 'post_type'=> 'page', 'include' => $page->ID, 'post_status' => 'published');
$myposts = get_posts($args);
foreach($myposts as $mypost) {
setup_postdata($mypost);
echo the_content();
}
}
}
}
일반적으로 원시 SQL 쿼리는 사용하지 않는 것이 좋습니다. WordPress에는 임의의 수의 페이지에 액세스 할 수있는 많은 방법이 있습니다. 'pre_get_posts'에서 get_page() 또는 쿼리를 수정하면 올바르게 작동합니다. –
당신은 데이터베이스에 불필요한 여러 호출과 연결을 만드는 WordPress 기능을 의미합니까? 아무도 찾을 수없는 몇 가지 기능을 언급하는 것이 아니라 실제로 코드 샘플을 제공하는 것은 어떨까요? 제가 제안한 것은 작동하는 진짜 해결책이었습니다 ;-) – John
각 페이지의 Wordpress에서 지정한 템플릿을 적용하고 싶습니까? – Prusprus
이 접근법은 이제 더 이상 사용되지 않음 –
이 질문에 대한 답을 찾고 있는데,'get_page'는 이제 사용되지 않습니다. 누구든지 대안을 권할 수 있습니까? – mattnewbie