맞춤 분류 체계의 모든 용어를 표시 하시겠습니까?


18

몇 가지 맞춤 분류 체계를 만들었으며 여기에서 모든 용어를 표시해야합니다. 지금까지 달성 한 것은 맞춤 게시 유형에서 선택 / 선택된 분류 체계를 표시하는 것입니다. 그러나 모두 선택해야합니다. . 나중에 사용자 정의 게시물 유형 값에 포함 된 용어에 따라 필터링하는 필터를 만들 수 있습니다.

<?php 
$args=array(
  'public'   => true,
  '_builtin' => false
);
$output = 'names'; // or objects
$operator = 'and';
$taxonomies=get_taxonomies($args,$output,$operator); 
if  ($taxonomies) {
  foreach ($taxonomies  as $taxonomy ) {
    $terms = get_terms($taxonomy);
        foreach ( $terms as $term) {
?>
        <li><br><a href="#"><input type="checkbox" name="profile[]" value=""><?php echo $term->name; ?> <br/></a></li>
       <?php 
                }
              }
            }  
            ?>

내가 지금까지 가지고있는 것.

미리 감사드립니다!


어느 시점에서 실패합니까? 원하는 방식으로 얼마나 작동합니까?
s_ha_dum

문제는 맞춤 게시물 유형으로 SELECTED 용어 만 표시 할 수 있다는 것입니다. 나는 그들 모두가 선택된 것을 보여주기를 원한다. 나는 단지 그것들을 보여주기 위해 선택된 모든 것을 가진 더미 포스트 타입을 갖고 싶지 않다.
David H

답변:


39

에 추가 인수를 전달해야합니다 get_terms(). 기본값은 게시물이없는 "빈"용어를 숨기는 것입니다.

$terms = get_terms([
    'taxonomy' => $taxonomy,
    'hide_empty' => false,
]);

정말 고맙습니다! 그러나 무언가를 묻고 싶습니다. 왜 첫 번째 배열이 표시되는 위치 위에 변수를 선언하는 대신 변수 안에 배열을 만드시겠습니까?
David H

간단. 인수 배열이 더 복잡하다면 먼저 선언했을 것입니다 (가장 가능성이 높음). 단일 인수에 대해서는 가장 간단한 방법입니다. 어느 쪽이든 똑같이 잘 작동해야합니다.
s_ha_dum

고마워요 :) 저를 많이 생각했습니다. 정말 감사!
David H

공장!! 이제 모든 분류법 옵션으로 무슨 일이 일어나고 있는지 볼 수 있습니다! 일부 플러그인은 거기에 복잡한 구조를 만듭니다.
eyal_katz

6

4.5.0부터, 분류 체계는 $ args 배열의 'taxonomy'인수를 통해 전달되어야합니다.

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

게시물이없는 용어는 기본적으로 숨겨져 있습니다.


3

이 코드는 get_terms()다음을 사용하여 모든 범주 및 하위 범주 사용자 지정 분류 체계를 가져옵니다 .

<?php $wcatTerms = get_terms('product_cat', array('hide_empty' => 0, 'parent' =>0)); 
   foreach($wcatTerms as $wcatTerm) : 
   ?>
<ul>
   <li>
      <a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"><?php echo $wcatTerm->name; ?></a>
      <ul class="megaSubCat">
         <?php
            $wsubargs = array(
               'hierarchical' => 1,
               'show_option_none' => '',
               'hide_empty' => 0,
               'parent' => $wcatTerm->term_id,
               'taxonomy' => 'product_cat'
            );
            $wsubcats = get_categories($wsubargs);
            foreach ($wsubcats as $wsc):
            ?>
         <li><a href="<?php echo get_term_link( $wsc->slug, $wsc->taxonomy );?>"><?php echo $wsc->name;?></a></li>
         <?php
            endforeach;
            ?>  
      </ul>
   </li>
</ul>
<?php 
   endforeach; 
   ?>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.