Получите постоянную ссылку для таксономии - PullRequest
1 голос
/ 13 июля 2020
• 1000 эту таксономию.

У меня проблемы с добавлением постоянной ссылки вокруг имени таксономии.

Код, который я пытаюсь сделать, находится здесь:

<div class="container  hardware-archive-container">

<?php // Output all Taxonomies names with their respective items
$terms = get_terms('hardware_categories');
foreach( 
    $terms as $term ):
    $term_link = get_term_link( $term );
?>                         

    <h2><a href="<?php esc_url( $term_link ) ?>"><?php echo $term->name; ?></a></h2>

    <div class="row justify-content-center hardware-archive-row">

    <?php                         
      $posts = get_posts(array(
        'post_type' => 'hardware',
        'taxonomy' => $term->taxonomy,
        'term' => $term->slug,                                  
        'nopaging' => true, // to show all posts in this taxonomy, could also use 'numberposts' => -1 instead
      ));
      foreach($posts as $post): // begin cycle through posts of this taxonmy
        setup_postdata($post); //set up post data for use in the loop (enables the_title(), etc without specifying a post ID)
    ?>        

        <div class="col-md-3">
        
        <?php 
        $image = get_field( 'hardware_main_image');
        if( !empty( $image ) ): ?>
            <img src="<?php echo esc_url($image['url']); ?>" alt="<?php echo esc_attr($image['alt']); ?>" />
        <?php endif; ?>

        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        
        </div>

    <?php endforeach; ?>

    </div>                                                  

    <a href="#"><p>See all products from: <?php echo $term->name;?></p></a>

<?php endforeach; ?>

</div>

Части I Чтобы попытаться создать ссылку, добавлены эти две строки:

$term_link = get_term_link( $term );

и

<h2><a href="<?php esc_url( $term_link ) ?>"><?php echo $term->name; ?></a></h2>

Я пробовал много других вещей, но не могу получить ссылку на категорию. ..

Может кто подскажет, где я ошибаюсь? Спасибо, что посмотрели.

1 Ответ

1 голос
/ 13 июля 2020

Не могли бы вы попробовать это:

$term_link = get_term_link( $term->term_id, "hardware_categories" );

Также попробуйте изменить свои условия:

$terms = get_terms( array(
    'taxonomy' => 'taxonomy_name',
    'hide_empty' => false
) );

Способ использования get_terms устарел, см. Документацию

Ваш код должен выглядеть так

$terms = get_terms( array(
    'taxonomy' => 'hardware_categories',
    'hide_empty' => false
) );
foreach( $terms as $term ):?>
    <h2><a href="<?php echo get_term_link( $term->term_id, 'hardware_categories');?>"><?php echo $term->name; ?></a></h2>
<?php endforeach;?>    
...