Добавьте идентификатор категории в качестве имени класса для пользовательского типа записи

#wordpress

#wordpress

Вопрос:

Итак, у меня есть пользовательский тип публикации на моем веб-сайте «Тематические исследования», и каждая публикация может иметь 1-3 категории («Веб-дизайн», «SEO», «Facebook-реклама»), в зависимости от которых я отметил галочкой на своей панели управления WordPress..

Вот код, который у меня сейчас есть

 <div class="container">
<div class="category_container">
    <p class="category_item" id="all">All</p>
    <p class="category_item" id="website">Websites</p>
    <p class="category_item" id="facebook">Facebook Ads</p>
    <p class="category_item" id="seo">SEO</p>
</div>
<div class="row d-flex">
        <?php

           $args1 = array( 'post_type' => array('case_studies'), 'order' => 'DESC', 'posts_per_page' => 30, 'orderby' => 'date' );
           $loop = new WP_Query( $args1 );

           while ( $loop->have_posts() ) { 

           $loop->the_post();

           $feat_image = wp_get_attachment_url( get_post_thumbnail_id($loop->ID));


        ?>

        <div class="col-sm-4">
             <div class="case-study-content">
                    <a href="<?php the_permalink() ?>" class="blog_blocks">
                        <div class="b_image">
                            <img src="<?php echo get_the_post_thumbnail_url(); ?>"/>
                        </div>
                        <div class="b_h_sec">
                        <h2><?php the_title(); ?></h2>
                        <p><?php echo wp_strip_all_tags( get_the_excerpt(), true ); ?></p>
                        <span class="r_m">Read More</span>
                        </div>
                    </a>
             </div>
        </div>

        <?php } ?>

        <?php wp_reset_postdata(); ?>
</div>
</div>
 

Я хочу, чтобы цикл WordPress автоматически добавлял имя класса каждой категории для отдельного сообщения после «col-sm-4».

Например, если в сообщении есть категории «веб-сайт» и «facebook», отмеченные на панели управления WordPress, я хочу, чтобы у сообщения был класс

 <div class="col-sm-4 website facebook">

</div>
 

Идентификатор категории facebook равен 7, идентификатор категории веб-сайта равен 5, а идентификатор категории seo равен 6.

Как я могу это сделать?

Заранее спасибо 🙂

Ответ №1:

Как я понимаю, вы хотите показать термин таксономии slug как класс. Таким образом, вы должны получить все термины таксономии для этого поста. Например :

  <?php $terms = get_the_terms( $post->ID , 'your_taxonomy_name' ); ?>
 <div class="col-sm-4 <?php if ( $terms != null ){ foreach( $terms as $term ) { echo $term->slug; } } ?> ">
       <div class="case-study-content">
                <a href="<?php the_permalink() ?>" class="blog_blocks">
                    <div class="b_image">
                        <img src="<?php echo get_the_post_thumbnail_url(); ?>"/>
                    </div>
                    <div class="b_h_sec">
                    <h2><?php the_title(); ?></h2>
                    <p><?php echo wp_strip_all_tags( get_the_excerpt(), true ); ?></p>
                    <span class="r_m">Read More</span>
                    </div>
                </a>
         </div>
    </div>
 

Комментарии:

1. Я получаю сообщение об ошибке <b> Notice</b>: попытка получить свойство не-объекта в <b>/home1/lionbus1/public_html/wp-content/themes/lmb_theme/template-casestudies.php </b> на линии <b>42</b><br />