2016-12-28 4 views
2

Я использую короткий код плагина Woocommerce Projects, и я застрял, как я могу показать только проекты, которые находятся в той же категории, что и проект, который просматривает пользователь.Wordpress shortcode woocommerce projects plugin

Я использую этот код:

Visit more projects of 

<?php 
    $terms_as_text = get_the_term_list($post->ID, 'project-category'); 

    if ($terms_as_text) { 
     echo wp_strip_all_tags($terms_as_text); 
    } 
?>? 

<?php echo do_shortcode('[projects limit="3" columns="3" orderby="rand" order="desc" exclude_categories=""]'); ?> 

Текст на вершине работает, но как я могу исключить все, кроме активной категории в shortcode?

ответ

1

Попробуйте это:

<?php 
     $terms = get_terms(array(
      'taxonomy' => 'project-category', 
     )); 
     //$post_terms = wp_get_post_terms($post->ID, 'project-category'); 
     $post_terms = wp_get_post_terms($post->ID, 'project-category'); 

     $cat_string = array(); 
     $in_string = true; 
     if (!empty($terms)) { 
      foreach($terms as $term){ 
       $in_string = true; 
       foreach($post_terms as $post_term){ 
        if($post_term->name == $term->name) { 
         $in_string = false; 
        } 
       } 
       if($in_string) 
        $cat_string[] = $term->term_id ; 
      } 
     } 
     if(sizeof($cat_string) > 0) 
      $cat_string = implode(',',$cat_string); 
     else 
      $cat_string = ''; 
     echo $cat_string; 
     ?> 

     <?php echo do_shortcode('[projects limit="3" columns="3" orderby="rand" order="desc" exclude_categories="' . $cat_string . '"]'); ?> 

Я удивлен, что расширение не приходит с этой функциональностью. Кажется довольно очевидной вещью, чтобы включить.

Также я должен сказать, что это плохое использование WooCommerce. Есть гораздо лучшие способы отображения портфелей.

В любом случае, надеюсь, что это поможет.

+1

Мне нужен простой проект, показывающий плагин, и этот был он. Я не знаю много о Woocommerce только, что обычное использование - это интернет-магазин. Но этот плагин подходит для меня, и теперь все работает с вашей помощью (спасибо). – Maanstraat

+0

@Maanstraat Нет проблем. Это не конец света для использования WC в качестве портфеля. Возможно, я был слишком суров в своих комментариях. –