몇 가지 사용자 지정 분류법을 만들고 여기에서 모든 용어를 표시해야합니다. 지금까지 달성 한 것은에서 선택 / 선택된 분류법을 표시하는 것입니다. 사용자 지정 게시물 유형이지만 선택 여부에 관계없이 모두 표시해야합니다. 나중에 사용자 지정 게시물 유형 값에 포함 된 용어에 따라 필터링하는 필터를 만들 수 있습니다.

<?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 } } } ?> 

지금까지 가지고있는 것

미리 감사합니다!

댓글

  • 어떤 시점에서 실패합니까? ' 원하는 방식으로 얼마나 작동합니까?
  • 문제는 SELECTED 만 표시 할 수 있다는 것입니다. 모든 항목이 선택되었는지 여부를 표시하고 싶지만 ' 단지 표시하기 위해 모든 항목이 선택된 더미 게시물 유형을 원하지 않습니다.

답변

. 기본값은 게시물이없는 용어 인 “빈”용어를 숨기는 것입니다.

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

댓글

  • 정말 감사합니다! 하지만 질문하고 싶습니다. 왜 첫 번째 배열이 표시되는 위치 위에 선언하는 대신 변수 내부에 배열을 만들까요?
  • 단순성. 인수 배열이 더 복잡하다면 먼저 선언했을 것입니다 (거의 가능성이 높음). 단 하나의 인수에 대해 가장 간단한 방법입니다. 어느 쪽이든 똑같이 잘 작동합니다.
  • 고마워요 🙂 저를 많이 생각했습니다. 정말 감사합니다!
  • 작동합니다 !! 이제 모든 분류 옵션에서 진행되는 '를 볼 수 있습니다. 일부 플러그인은 거기에 복잡한 구조를 생성합니다.

Answer

4.5.0부터 분류는 $ args 배열의 분류인수 :

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

여기서 게시물이없는 용어는 기본적으로 숨겨집니다.

Answer

이 코드는 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; ?> 

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다