2014-05-22 3 views
0

На моем сайте Wordpress у меня есть страница, в которой перечислены все категории и подкатегории, используя следующий код.Wordpress - Список сообщений по категориям после нажатия ссылки категории

<ul> 
<?php 
$parents = get_categories(array('parent' => 0, 'exclude' => '1,7','hide_empty' => 0)); 
if(!empty($parents)){ 
    foreach($parents as $parent){ 
     ?> 
     <li> 
      <div class="catImg"> 
       <span><img src="<?php echo z_taxonomy_image_url($parent->term_id); ?>" /></span> 
      </div> 
      <h2><?php echo $parent->name; ?></h2> 
      <ul class="models"> 
       <?php wp_list_categories(array('hierarchical' => false, 'hide_empty' => 0, 'title_li' => __(''), 'show_option_none' => __(''), 'child_of' => $parent->term_id)); ?> 
      </ul> 
     </li> 
     <?php 
    } 
} else { 
    ?> 
    <li>No Categories</li> 
    <?php } ?> 
</ul> 

Код выше генерирует несколько блоков, как на фотографии ниже. На фотографии «Team Losi Racing» является родительской категорией, «8ight 3.0» и «8ight EU» являются подкатегориями Team Losi Racing.

enter image description here

Когда я щелкаю по категориям подразделов в списке ul.models Я хотел бы, чтобы перейти на страницу, где перечислены все посты в этой категории.

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

Заранее спасибо

+0

Можете ли вы уточнить. Что вы точно хотите сделать? – yeshansachithak

+0

Im после нажатия ссылки подкатегорий на странице категорий, я хотел бы просмотреть список всех сообщений в этой подкатегории. –

+0

K. У меня есть два сомнения. 1. На клике будет загружена другая страница? 2. показать ссылку на сообщения или полный контент? – yeshansachithak

ответ

0

ОТВЕТ ОДИН

В моем понимании. Вы можете сделать, как показано ниже. Просто попробуйте это. Если у вас есть какие-либо вопросы или вопросы, свяжитесь со мной в любой сети, выполнив поиск yeshansachithak.

КОД

<ul> 
    <?php 
    $parents = get_categories(array('parent' => 0, 'exclude' => '1,7','hide_empty' => 0)); 
    if(!empty($parents)){ 
     foreach($parents as $parent){ 
      ?> 
      <li> 
       <div class="catImg"> 
        <span><img src="<?php echo z_taxonomy_image_url($parent->term_id); ?>" /></span> 
       </div> 
       <h2><?php echo $parent->name; ?></h2> 
       <ul class="models"> 
        <?php 
         $categories = get_categories('child_of'=>$parent->ID); //Pass the Parent category id here 
         foreach ($categories as $category) { 
         echo '<li>'.$category->cat_name.'</li>';//Child cat list 
         //Show links by using css after click above sub-cat name 
         ?> 
         <ul class="sub-cat-post-links"> 
         <?php 
          $args = array('offset'=> 1, 'category' => $category->cat_ID); 
          $myposts = get_posts($args); 
          foreach ($myposts as $post) : setup_postdata($post); ?> 
           <li> 
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 
           </li> 
          <?php endforeach; 
          wp_reset_postdata(); 
         ?> 
         </ul> 
         <?php 
         } 
        ?> 
       </ul> 
      </li> 
      <?php 
     } 
    } else { 
     ?> 
     <li>No Categories</li> 
     <?php } ?> 
    </ul> 

Объяснение

Из кода вы можете получить родительскую категорию. Тогда мы можем получить дочернюю категорию этих родителей. В списке дочерних категорий мы можем перечислить записи, принадлежащие дочерним и родительским. Этот список будет отображаться после нажатия на имя дочернего кота. Вы также должны сделать некоторые css. Когда мы нажимаем на имя/заголовок сообщений. Это займет нас на почту. single.php

Спасибо. Это так быстро. Извините за мой плохой английский

Краткий обзор

В моем ответе, Что касается вашего дие изображения. Team Losi Racing и XRAY - это имена родительских категорий. 8ight 3.0 и 8ight EU - это имена дочерних категорий. Когда вы нажимаете на имена дочерних кошек. Он будет показывать позиции, находящиеся ниже child category name. как падение вниз. После того, как вы нажмете ссылку на сообщение. Он перенесет вас на содержимое сообщения.

В соответствии с нашим обсуждением см. Ниже второй ответ. Я не хочу удалять первый ответ. Это также помогает кому-то.

ОТВЕТ ДВА

здесь код. Вы можете сделать, как показано ниже. Просто попробуйте это. Если у вас есть какие-либо вопросы или вопросы, свяжитесь со мной в любой сети, выполнив поиск yeshansachithak.

<ul> 
    <?php 
    $parents = get_categories(array('parent' => 0, 'exclude' => '1,7','hide_empty' => 0)); 
    if(!empty($parents)){ 
     foreach($parents as $parent){ 
      ?> 
      <li> 
       <div class="catImg"> 
        <span><img src="<?php echo z_taxonomy_image_url($parent->term_id); ?>" /></span> 
       </div> 
       <h2><?php echo $parent->name; ?></h2> 
       <ul class="models"> 
        <?php 
         $categories = get_categories('child_of'=>$parent->ID); //Pass the Parent category id here 
         foreach ($categories as $category) { 
         echo '<li>Category: <a href="' . get_category_link($category->term_id) . '" title="' . sprintf(__("View all posts in %s"), $category->name) . '" ' . '>' . $category->name.'</a> </li> '; 
         } 
        ?> 
       </ul> 
      </li> 
      <?php 
     } 
    } else { 
     ?> 
     <li>No Categories</li> 
     <?php } ?> 
    </ul> 

Краткий обзор

На выше.Мы принимаем эти детские категории от родителей кошек. После этого мы показываем ссылку на эту подкатегорию. Когда вы нажмете на ссылку, мы перейдем на категорию archive.php. Там вы можете понравиться вам.

Много спасибо

+0

Благодарим за помощь. Извините, но, похоже, небольшое понимание. Когда я нажимаю на подкатегории, я хотел бы, чтобы вас перевели на новую страницу со всеми сообщениями в той категории, которую я нажал. Возможно ли это, пожалуйста? Так, например, у вас есть страница списка категорий, а затем, когда вы нажимаете на подкатегорию, вы попадаете на страницу списка сообщений, в которой перечислены все должности в выбранной вами категории. –

+0

Да, это возможно. У вас есть много способов сделать это. Простой способ ** Option1 **. Вы можете передать идентификатор sub-cat на страницу категории, а затем вы можете получить список сообщений с помощью этого подкаталога. ** Вариант 2 **. Вы можете создать одну функцию shortcode в 'function.php', и вам нужно создать« шаблон », после чего вам нужно создать страницы с использованием этого шаблона страницы для каждого подколя. – yeshansachithak

+0

. Хорошо, так что Вариант 1. Как мне пойти о передаче subcatid на страницу категории и отобразить сообщения? Спасибо –

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