Поддержка Темы и шаблоны Карта сайта

  • Есть такой код. Сначала идут Рубрики, потом Страницы. Как сделать, чтобы сначала шли Страницы, а потом Рубрики?

    
    add_shortcode( 'wpcourses_sitemap', 'wpcourses_sitemap' );
    function wpcourses_sitemap() {
        $html = '';
    	$cats = get_categories();
    	foreach ( $cats as $cat ) {
    		$html .= '<h2>Рубрика: ' . $cat->cat_name . '</h2>';
    		$html .= '<ul>';
    		$posts = get_posts( array(
    			'posts_per_page' => - 1,
    			'cat'            => $cat->cat_ID,
    		) );
    		foreach ( $posts as $post ) {
    			setup_postdata( $post );
    			$category = get_the_category($post->ID);
    			if ( $category[0]->cat_ID == $cat->cat_ID ) {
    				$html .= '<li><a href="'. get_the_permalink($post->ID) . '" title="' . get_the_title($post->ID) . '">' . get_the_title($post->ID) . '</a></li>';
    			}
    		}
    		wp_reset_postdata();
    		$html .= '</ul>';
    	}
    
    	$html .= '<h2>Страницы:</h2>';
    	$html .= '<ul>';
    	$html .= wp_list_pages( 'exclude=ID&title_li=&echo=0' );
    	$html .= '</ul>';
    	return $html;
    }
    
    • Тема изменена 1 месяц назад пользователем newbie24.
    • Тема изменена 1 месяц назад пользователем newbie24.
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Юрий

    (@yube)

    Есть такой код.

    Если это код, то почему бы не оформить его как код? Сами не видите, что это нечитабельно?

    чтобы сначала шли Страницы, а потом Рубрики?

    Поменять местами фрагменты. Вот это

    
    	$html .= ‘<h2>Страницы:</h2>’;
    $html .= ‘
    
        ‘;
        $html .= wp_list_pages( ‘exclude=ID&title_li=&echo=0’ );
        $html .= ‘
    
    ‘;
    

    поставить сразу после

    $html = »;
    

    Не работает

Просмотр 2 ответов — с 1 по 2 (всего 2)