2017-11-27 6 views
0

Ich möchte Menü nach Kategorien und Unterkategorien (wenn vorhanden). Ich deklariere meinen benutzerdefinierten Post-Typ in functions.php und führe es auf Thema.Wordpress teilen Beitragstyp nach Kategorien und Unterkategorien

Mein function.php Code:

function register_lekarze(){ 
$labels = array(
    'name'    => _x('Lekarze', 'post type general name', '__freshview__'), 
    'singular_name'  => _x('Lekarze', 'post type singular name', '__freshview__'), 
    'menu_name'   => _x('Lekarze', 'admin menu', '__freshview__'), 
    'name_admin_bar'  => _x('Lekarze', 'add new on admin bar', '__freshview__'), 
    'add_new'   => _x('Dodaj nowego', '__freshview__'), 
    'add_new_item'  => __('Dodaj nowego', '__freshview__'), 
    'new_item'   => __('Nowy', '__freshview__'), 
    'edit_item'   => __('Edytuj', '__freshview__'), 
    'view_item'   => __('Zobacz', '__freshview__'), 
    'all_items'   => __('Wszyscy', '__freshview__'), 
    'search_items'  => __('Szukaj', '__freshview__'), 
    'parent_item_colon' => __('Nadrzędny:', '__freshview__'), 
    'not_found'   => __('Nie znaleziono.', '__freshview__'), 
    'not_found_in_trash' => __('Nie znaleziono w koszu.', '__freshview__') 
); 

$args = array(
    'labels'    => $labels, 
    'description'  => __('Lekarze', '__freshview__'), 
    'public'    => true, 
    'publicly_queryable' => true, 
    'show_ui'   => true, 
    'show_in_menu'  => true, 
    'query_var'   => true, 
    'rewrite'   => true, 
    'capability_type' => 'post', 
    'has_archive'  => true, 
    'hierarchical'  => false, 
    'menu_position'  => 4, 
    'supports'   => array('title', 'thumbnail', 'page-attributes'), 
    'menu_icon'   => 'dashicons-id' 
); 

register_post_type('lekarze', $args); 



register_taxonomy("categories", array("lekarze"), 
    array(
     "hierarchical" => true, 
     "label" => "Kategorie", 
     "singular_label" => "Kategoria", 
     "rewrite" => array('slug' => 'kategoria', 'with_front'=> true))); 

} add_action ('init', 'register_lekarze');

Mein Code:

 <?php 
     $args = array (
      'post_type' => 'lekarze', 
      'posts_per_page' => -1, 
      'order' => 'ASC', 
      'tax_query' => array(
       array (
        'taxonomy' => 'categories', 
        'field' => 'slug', 
        'terms' => 'lekarze', 
       ) 
      ), 
     ); 


     $query = new WP_Query($args); 
     if ($query->have_posts()) { 
      $i=1; 
      while ($query->have_posts()) { 
       $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
       $query->the_post(); 
       $fields = get_fields(); 
       if($actual_link == get_the_permalink()){ 
        $class = 'current'; 
       }else{ 
        $class= ''; 
       } 
       ?> 

       <li class="<?php echo $class;?>"><a href="<?php echo get_the_permalink();?>"><?php echo get_the_title(); ?></a></li> 


       <?php 
       $i++; 
      } 
      wp_reset_postdata(); 
     } 

     ?> 

Was ich will, ist so etwas wie dies in Menü zu erhalten:

Lekarze (Ärzte -> Neurologe -> Liste der Ärzte Namen und Permalinks)

Antwort

0

ich es schaffe, so etwas zu tun:

Was fehlt, ist eine Liste der Beiträge von meinen Unterkategorien ist, wie Beiträge zu erhalten (nach li class = "Ärzte-post) Mein Code ist hier:

  <?php 
     $terms = get_terms(array(
      'taxonomy' => 'categories', 
      'hide_empty' => false, 
      'order'  => ASC, 
      'parent' => 0 
     ));     
     foreach($terms as $term) { 
      $myList = get_field("glowny_tytul", $term); 
      $slug = $term->slug; 
      $name = $term->name; 
      $id = $term->term_id; 
      ?> 
      <ul class="menu-list"> 
       <img class="menu-list-img" src="<?php the_field('tlo', $term); ?>"> 
       <li class="menu-list__categories"><a href="<?php echo get_term_link($id); ?>"><?php echo $name ?></a> 

        <ul class="submenu-list"> 
         <?php 
         $subterms = get_terms(array(
          'taxonomy' => 'categories', 
          'hide_empty' => false, 
          'order'  => ASC, 
          'parent' => $id 
         ));     
         foreach($subterms as $subterm) { 
          $submyList = get_field("glowny_tytul", $subterm); 
          $subslug = $subterm->slug; 
          $subname = $subterm->name; 
          $subid = $subterm->term_id; 
          ?> 
          <li class="doctors-post"><a href="<?php echo get_term_link($subid); ?>"><?php echo $subname ?></a> 


           <!-- Maybe ajax when switching li --> 

          </li> 

          <?php 
         } 
         ?> 
        </ul> 
       </li> 
      </ul> 
      <?php 
     } 
     ?>  
Verwandte Themen