WordPress как на ладони

Как вывести разделы и подразделы товаров woocomerce?

Есть вот такой код:

<?php
  $args = array(
		'taxonomy'   => 'product_cat',
		'hide_empty' => false,
		'parent'   => 0,
	  );
	  $product_categories = get_terms( $args );

	  $count = count($product_categories);

	  if ( $count > 0 ){
		foreach ( $product_categories as $product_category ) {
			$thumbnail_id = get_woocommerce_term_meta( $product_category->term_id, 'thumbnail_id', true );
			echo '<div class="my-vid-category">';
			echo '<ul class="my-vid">';
			echo  '<li class="my-entry-block">';
			echo  '<div class="my-entry-title">';
			echo  '<a href="' . get_term_link( $product_category ) . '" title="' . $product_category->name . '"><h2>' . $product_category->name . '</h2></a>';
			echo  '</div>';
			echo '<article class="my-type-post">';
			echo '<div class="my-entry-cover" style="width: 450px; height: 300px;">';
			echo  '<a href="' . get_term_link( $product_category ) . '"><img style="background-image: url('.  wp_get_attachment_url( $thumbnail_id ) .')!important;" /></a>';
			echo  '</div>';
			echo  '</article>';
			echo  '<hr>';
			echo  '</li>';
			echo  '</ul>';
			echo  '</div>';
		}
	  }
?>

Он формирует список родительских категорий,
секция блоки title и блок IMG
как можно добавить ещё и вывод дочерних подкатегорий ссылками ниже IMG

0
midas34
4.3 года назад
  • 0
    qwert555154 naytikurs.ru

    Разместить этот код внутри цикла этого же кода, только вместо 'parent' => 0, указать 'parent' => $product_category->term_id,

    midas34 4.3 года назад

    Вопрос решён! Наложите стили, результат будет таков: вывод категорий (можно вывести в колонки и ряды),
    иерархия: Титл(ссылка) => Картинка(ссылка) => подкатегории(ссылка), благодаря css можно сделать вполне хороший каталог с навигацией

    <?php
      $args = array(
    		'taxonomy'   => 'product_cat',
    		'hide_empty' => false,
    		'parent'   => 0,
    	  );
    	  $product_categories = get_terms( $args );
    
    	  $count = count($product_categories);
    
    	  if ( $count > 0 ){
    		foreach ( $product_categories as $product_category ) {
    			$thumbnail_id = get_woocommerce_term_meta( $product_category->term_id, 'thumbnail_id', true );
    			echo '<div class="my-vid-category">';
    			echo '<ul class="my-vid">';
    			echo  '<li class="my-entry-block">';
    			echo  '<div class="my-entry-title">';
    			echo  '<a href="' . get_term_link( $product_category ) . '" title="' . $product_category->name . '"><h2>' . $product_category->name . '</h2></a>';
    			echo  '</div>';
    			echo '<article class="my-type-post">';
    			echo '<div class="my-entry-cover" style="width: 450px; height: 300px;">';
    			echo  '<a href="' . get_term_link( $product_category ) . '"><img style="background-image: url('.  wp_get_attachment_url( $thumbnail_id ) .')!important;" /></a>';
    			$args = array(
    				'taxonomy'   => 'product_cat',
    				'hide_empty' => false,
    				'parent'   => $product_category->term_id,
    			  );
    			  $product_categories = get_terms( $args );
    
    			  $count = count($product_categories);
    
    			  if ( $count > 0 ){
    				foreach ( $product_categories as $product_category ) {
    				 echo  '<div class="my-parent-title">';
    				 echo  '<a href="' . get_term_link( $product_category ) . '" title="' . $product_category->name . '"><h4>' . $product_category->name . '</h4></a>'; 
    				 echo  '</div>';
    			}}
    			echo  '</div>';
    			echo  '</article>';
    			echo  '<hr>';
    			echo  '</li>';
    			echo  '</ul>';
    			echo  '</div>';
    		}
    	  }
    ?>
    midas34 4.3 года назад

    Огромное спасибо за подсказку!

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация