2014-01-03 3 views
0

Отрывать мои волосы, пытаясь это сделать. Прежде всего, мне нужно отобразить дочерние страницы (со ссылкой и миниатюрами) на родительской странице, которые я выяснил. Проблема в том, что эти дочерние страницы попадают в две категории: «Текущий» и «Прошлое». Поэтому я нашел код, который позволяет добавлять категории на страницы (как вы не можете по умолчанию в wordpress), но я не могу понять, как добавить что-то в код ниже, чтобы показывать только страницы в определенных категориях (думаю, если и еще будет работать, его просто запрашивая категории)Список страниц в категории на родительской странице

Вот код, я использую, чтобы показать миниатюры и название:

<?php 
$mypages = get_pages(array('child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc')); 

foreach($mypages as $page) {  ?> 
      <?php echo get_the_post_thumbnail($page->ID); ?> 
    <h2><a href="/<?php echo get_page_link($page->ID); ?>"><?php echo $page->post_title; ?></a></h2> 
<?php 
} 
?> 

Вот код я нашел, что добавляет категории для страниц:

function myplugin_settings() { 
// Add tag metabox to page 
register_taxonomy_for_object_type('post_tag', 'page'); 
// Add category metabox to page 
register_taxonomy_for_object_type('category', 'page'); 
} 
// Add to the admin_init hook of your theme functions.php file 
add_action('admin_init', 'myplugin_settings'); 

Спасибо всем, кто может помочь

ответ

0

попытаться получить категории постранично ид а затем проверить категорию с категориями страниц

<?php 
$mypages = get_pages(array('child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc')); 

foreach ($mypages as $page) { 
    $category = get_the_category($page->ID); 
    $categories = array(); 
    foreach ($category as $c) { 
     $categories[] = $c->cat_name; 
    } 

    if (in_array("your category name",$categories)){ 
     ?> 
     <?php echo get_the_post_thumbnail($page->ID); ?> 
     <h2><a href="/<?php echo get_page_link($page->ID); ?>"><?php echo $page->post_title; ?></a></h2> 
    <?php 
    } 

} 
?> 

EDIT

<?php 
$mypages = get_pages(array('child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc')); 
?>  

<h1>Category 1</h1> 
<?php foreach ($mypages as $page) { 
    $category = get_the_category($page->ID); 
    $categories = array(); 
    foreach ($category as $c) { 
     $categories[] = $c->cat_name; 
    }  
    if (in_array("Category 1",$categories)){ 
     ?> 
     <?php echo get_the_post_thumbnail($page->ID); ?> 
     <h2><a href="/<?php echo get_page_link($page->ID); ?>"><?php echo $page->post_title; ?></a></h2> 
    <?php 
    } 
} 
?> 
<h1>Category 2</h1> 
<?php foreach ($mypages as $page) { 
    $category = get_the_category($page->ID); 
    $categories = array(); 
    foreach ($category as $c) { 
     $categories[] = $c->cat_name; 
    }  
    if (in_array("Category 2",$categories)){ 
     ?> 
     <?php echo get_the_post_thumbnail($page->ID); ?> 
     <h2><a href="/<?php echo get_page_link($page->ID); ?>"><?php echo $page->post_title; ?></a></h2> 
    <?php 
    } 
} 
?> 
+0

спасибо за ваш ответ, я попробовал это, но я не могу получить его, чтобы показать что-либо к сожалению. – user3115441

+0

Вы уверены, что у вас есть правильное название категории в приведенном выше кодексе ** "название вашей категории" ** –

+0

Да, я использую категорию slug. Я пробовал это с и без кавычек, но ничего не показываю – user3115441

Смежные вопросы