Пользовательский тип иерархии столбцов в главной странице

Я читаю это: Показывать сообщения пользовательского типа в иерархическом порядке. Но не понял, если и как использовать ответ.

Этого я хотел бы достичь:

if_user_logged_in

показать созданный cpost пользователя в иерархическом порядке

Можно ли перечислять персонализированные сообщения на главной странице с этой структурой?

введите описание изображения здесь

Нет проблем в бэкэнд:

Нет проблем с бэкэнд

Клиент 1 (родительский) the_title () – the_permalink () – edit_post_link ()

  • Пункт 1 принадлежит Заказчику 1 Дети Клиента 1 the_title () – the_permalink () – edit_post_link ()
  • Пункт 2 принадлежит Заказчику 1 Дети Клиента 1 the_title () – the_permalink () – edit_post_link ()
  • Пункт 3 принадлежит Заказчику 1 Дети Клиента 1 the_title () – the_permalink () – edit_post_link ()
  • Пункт 4 принадлежит Заказчику 1 Дети Клиента 1 the_title () – the_permalink () – edit_post_link ()

Клиент 2

  • Пункт 1 принадлежит Заказчику 2 Дети Клиента 2 the_title () – the_permalink () – edit_post_link ()
  • Пункт 2 принадлежит Заказчику 2 Дети Клиента 2 the_title () – the_permalink () – edit_post_link ()
  • Пункт 3 принадлежит Заказчику 2 Дети Клиента 2 the_title () – the_permalink () – edit_post_link ()
  • Пункт 4 принадлежит Заказчику 2 Дети Клиента 2 the_title () – the_permalink () – edit_post_link ()

И так, я думаю, у вас есть точка 🙂

Вот как я зарегистрировал свою cPost:

/*Custom post clienti */ add_action( 'init', 'register_cpt_cliente' ); function register_cpt_cliente() { $labels = array( 'name' => _x( 'Clienti', 'cliente' ), 'singular_name' => _x( 'Cliente', 'cliente' ), 'add_new' => _x( 'Aggiungi nuovo', 'cliente' ), 'add_new_item' => _x( 'Aggiungi un nuovo cliente', 'cliente' ), 'edit_item' => _x( 'Modifica cliente', 'cliente' ), 'new_item' => _x( 'Nuovo client', 'cliente' ), 'view_item' => _x( 'Guarda cliente', 'cliente' ), 'search_items' => _x( 'Cerca cliente', 'cliente' ), 'not_found' => _x( 'Nessun cliente trovato', 'cliente' ), 'not_found_in_trash' => _x( 'Nessun cliente eliminato', 'cliente' ), 'parent_item_colon' => _x( 'Cliente superiore:', 'cliente' ), 'menu_name' => _x( 'Clienti', 'cliente' ), ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'description' => 'Un archivio per gestirli tutti (Cit.)', 'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'page-attributes' ), 'taxonomies' => array( 'category', 'post_tag', 'page-category', 'abruzzo', 'basilicata', 'calabria', 'campania', 'emilia-romagna', 'friulli-venezia-giulia', 'lazio', 'liguria', 'lombardia', 'marche', 'molise', 'piemonte', 'puglia', 'san_marino', 'sardegna', 'sicilia', 'toscana', 'trentino-alto_adige', 'umbria', "valle_d'aosta", 'veneto' ), 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'menu_icon' => get_template_directory_uri().'/images/cli20.png', 'show_in_nav_menus' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'has_archive' => true, 'query_var' => true, 'can_export' => true, 'rewrite' => true, 'capability_type' => 'post' ); register_post_type( 'cliente', $args ); } 

Это мой цикл, который, obviusly работает, но не имеет иерархической структуры:

 <?php if ( is_user_logged_in() ) {;?> <div id="listaclienti-container"> <?php global $current_user; get_currentuserinfo(); $idutente = $current_user->ID; $loop = new WP_Query( array( 'post_type' => 'cliente', 'posts_per_page' => -1, 'author' => $idutente) );?> <ul id="listaclienti"> <?php if (have_posts()) { ?> <?php while ( $loop->have_posts() ) : $loop->the_post();?> <li> <h3> <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"> <?php the_title(); ?><?php edit_post_link('Edit', ' | ', ''); ?> </a> </h3> </li> <?php endwhile; }else{echo 'No posts here';};?> </ul><!-- listaclienti --> </div><!-- listaclienti Container --> <?php };?><!-- end of if user_logged_in --> 

Solutions Collecting From Web of "Пользовательский тип иерархии столбцов в главной странице"

Из внешнего вида вашего кода все, что вы делаете, это создание вложенного списка. Если это так, проще всего будет wp_list_pages .

 $args = array( 'post_type' => 'cliente', 'post_status' => 'publish', 'author' => $idutente, // must be comma separated list of IDs ); wp_list_pages($args); 

wp_list_pages похоже, работает только с 'hierarchical' => true, , но вы зарегистрировали свой CPT с этим аргументом.

Вы должны уметь стилизовать его с помощью CSS, как хотите.

Если вам нужно что-то более сложное, вам может понадобиться пользовательский Уокер, что-то вроде этого:

 class My_Page_Walker extends Walker_Page { function end_el( &$output, $page, $depth = 0, $args = array() ) { $link = get_edit_post_link($page->ID); $link = '<a class="post-edit-link" href="' . $link . '">Edit</a>'; $output .= ' ('.$link.') </li>'; } } $args = array( 'post_type'=>'cliente', 'post_status'=> 'publish', 'walker' => new My_Page_Walker ); wp_list_pages( $args );