programing

Wordpress - 현재 범주 부모 가져오기

css3 2023. 10. 2. 15:20

Wordpress - 현재 범주 부모 가져오기

category.php에서 상위 범주가 있는 범주에 대해 어떻게 테스트합니까?

부모 카테고리가 A이고, 하위 카테고리가 B이고, 사용자가 카테고리 B의 URL을 로드하면, 부모 카테고리 A가 있는지 테스트하고, 있으면 코드를 실행할 수 있으면 좋겠습니다.

get_category_parent 태그를 찾았지만 배열이 아닌 링크 목록을 반환하는 것 같습니다.

get_category_parents($cat, TRUE, ', '));

배열을 받았다고 해도 그것에 대해 테스트할 php 기능이 무엇인지 잘 모르겠습니다(php noob).

감사합니다!

이 기능을 사용하여 카테고리가 다른 카테고리의 자식인지 확인할 수 있습니다.예를 들어, 현재 카테고리가 '블로그'라는 카테고리의 자식인지 확인합니다.

cat_is_ancestor_of(get_cat_id('blog'), get_query_var('cat'))

먼저 현재 범주의 ID를 구해야 합니다.

$category_id = get_query_var('cat');

그런 다음 데이터베이스 쿼리를 만들어 상위 항목이 있는지 여부를 확인할 수 있습니다.

$parent = $wpdb->get_var("SELECT parent FROM ".$wpdb->prefix."term_taxonomy WHERE term_id = $category_id");

만약 $parent의 ID가 있다면 $parent의 ID는 한 단계 위에 있고 당연히 값은 0보다 커야 하므로 아래와 같이 확인할 수 있습니다.

<?php if ($parent > 0 ) : ?>
// do something
<?php endif; ?>

$parent를 원하는 대로 사용할 수 있습니다.

$parent_link = get_category_link( $parent );
$parent_name = get_cat_name( $parent );
// etc.

상위 레벨의 상위 레벨의 상위 레벨의 상위 레벨이 더 많은 것을 확인하려면 상위 레벨까지 상위 레벨의 상위 ID로 동일한 작업(db 쿼리)을 수행하거나 재귀 함수를 작성할 수도 있습니다.소스코드에서 본 것처럼 내장 get_category_parent() 함수가 그렇게 합니다.

HTH

두 번째 매개 변수를 다음으로 설정할 때 링크를 요청하는 참조 페이지를 확인합니다.TRUE.

해야 할 일은 다음과 같이 해야 합니다.

    get_category_parents($cat, FALSE, ', '));

나중에 공간을 다듬어야 할 것 같기 때문에 공간을 구분해서 사용하지 않는 것도 좋습니다.

언급URL : https://stackoverflow.com/questions/3114988/wordpress-get-current-category-parents