Ответы пользователя по тегу Таксономия
  • Изображения для категорий все одинаковые, почему?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    В вашем коде, как минимум есть много синтаксических ошибок.
    Исправленный вариант без синт. ошибок:

    <section class="container pt-3">
      <div class="row mt-5 mb-5 text-light">
      	<?php
    	      $categories = get_categories(array(
    	           'orderby' => 'name',
    		        'order' => 'ASC',
    		        'type' => 'post'
    	      ));
        ?>
        <?php foreach( $categories as $category ){ ?>
    
    	<div class="work col-3 mt-1 pr-1 item">
            <div class="copywriter">
    
            	<?php echo '<a class="rounded border border-light p-2" href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>';
    				$term_id = get_queried_object_id();
    				// получим ID картинки из метаполя термина
    				$image_id = get_term_meta( $term_id, '_thumbnail_id', 1 );
    				$image_url = wp_get_attachment_image_url( $image_id, 'full' );
    				// выводим картинку на экран
    				echo '<img src="'. $image_url .'" alt="" />';
    			?>
    
            </div>
        </div>
    
    	<?php } ?>
    
      </div>
    </section>


    А дальше уже надо смотреть работает или нет
    Ответ написан
    Комментировать
  • Как вывести подрубрику рубрики пользовательской таксономии?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Была у меня раньше похожая задача...
    Вот, простой скелет того, что вы хотите:
    <?php 
    $currentTerm = get_queried_object();
    $children = get_term_children($currentTerm -> term_id, 'MY_TAXONOMY');
    if($children): ?>
      <?php 
            $args = array(
              'taxonomy' => 'MY_TAXONOMY',
              'hide_empty' => false,
              'depth' => 1,
              'child_of' => get_queried_object()->term_id
            );
            $terms = get_terms( $args );
            $count = 1;
      ?>
    
      <?php foreach ($terms as $term): ?>
    
        <a href="<?php echo $term->slug ?>"><?php echo $term->name ?></a>
    
      <?php endforeach; ?>
    
      <?php else : ?>
    
        <?php 
        	$postCount = 1;
          $args = array(
            'posts_per_page' => -1,
            'MY_TAXONOMY' => $currentTerm->name
          );
    
          $query = new WP_Query( $args );
          if ($query->have_posts()) : 
            while ($query->have_posts()) : $query->the_post(); ?>
                <a href="<?php the_permalink() ?>">
                      <div class="title"><?php the_title(); ?></div>
                </a>
    
          <?php endwhile; ?>
          <?php endif; ?>
    
    <?php endif;?>


    MY_TAXONOMY - моя кастомная таксономия. Вы поменяйте на свой вариант или используйте дефолтную таксономию рубрик.

    В первой части мы получаем get_queried_object(); и смотрим есть ли дочерние рубрики, если есть, то выводим их, а если нет (ветка else ), то выводим записи
    Ответ написан
    3 комментария
  • Как избежать дублирования контента при использовании архивов меток на wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Я не специалист по СЕО, но ответ очень прост. Используйте canonical. По идее Yoast SEO и сам добавляет canonical, но также можно переписать его. также можно все ненужные ссылки закрыть через nofollow.
    Ответ написан
    2 комментария