Intereting Posts

Как я могу получить_контент в пользовательском ходоке?

У меня есть пользовательский ходок, и я хотел бы либо get_the_content() (вплоть до Read More), либо get_the_excerpt() использовать в этом ходоке, но я не могу понять, как заставить его работать – он ничего не возвращает, или если я помещаю в него $item->object_id (думая, возможно, ему нужен идентификатор post / page ID), тогда он просто возвращает этот идентификатор, а не фактический текст сообщения / страницы.

Я пробовал искать

Вот мой код:

 class Salamander_AdventMore_Walker extends Walker_page { function start_el(&$output, $item, $depth, $args) { if ( $depth ) { $indent = str_repeat("\t", $depth); } else { $indent = ''; } $advent_slug = get_post_meta($item->object_id, 'advent-slug', true); $advent_small_title = get_post_meta($item->object_id, 'advent-title', true); $advent_title = ( !empty($advent_small_title) ? $advent_small_title : $advent_slug); $advent_content = apply_filters('the_content', $item->object_id); $advent_content = str_replace(']]>', ']]&gt;', $advent_content); // this doesn't work // $advent_content = get_the_content( $item->object_id, 'Read more ...' ) ; $output .= $indent . ' <li> <section> <h1>' . $advent_title . '</h1> <div id="day'. $advent_slug .'" class="daydetail-content"> <div class="right"> <hgroup> <h2>' . $advent_title . '</h2> </hgroup> '. $advent_content .' </div><!-- ends right --> <div class="left"> <!--<a href="#" target="_blank"><img src="http://img.wordpressask.com/walker/currency_by_abcdz2000_Flickr-356x703.jpg" width="356" alt=""/></a>--> </div><!-- ends left --> </div><!-- ends daydatail-content --> </section> '; } // ends function } // ends class 

Для всех, кто мог бы искать то же самое, это то, что я сделал в конце:

Я отказался от идеи Custom Walker и использовал wp_get_nav_menu_items чтобы получить список идентификаторов сообщений из моего пользовательского меню, из этого урока по копанию в WordPress : http://digwp.com/2011/11/html-formatting-custom-menus/

В моем файле функций я создал эту функцию:

 function salamander_fetch_advent_posts() { global $post_list; $menu_name = 'advent-calendar'; // specify custom menu slug if ( ($locations = get_nav_menu_locations() ) && isset( $locations[$menu_name] ) ) { $menu = wp_get_nav_menu_object($locations[$menu_name]); $menu_items = wp_get_nav_menu_items($menu->term_id); $post_list = array(); foreach ((array) $menu_items as $key => $menu_item) { $post_id = $menu_item->object_id; $post_list[] = $post_id; } } return $post_list ; } 

И затем в файле шаблона темы я передал $post_list новому запросу, например:

 global $post_list; if (function_exists( salamander_fetch_advent_posts() )) { salamander_fetch_advent_posts(); } // The Query $the_query = new WP_Query( array( 'post__in' => $post_list, 'post_type' => 'any', 'posts_per_page' => -1 ) ) ; // The Loop while ( $the_query->have_posts() ) : $the_query->the_post(); echo '<li>'; the_title(); echo '</li>'; endwhile; // Reset Post Data wp_reset_postdata();