특정 카테고리의 기사 수 가져오기
때로는 블로그 어딘가에 표시될 수 있도록 특정 카테고리의 기사 수를 가져오고 싶을 때가 있습니다. 특정 카테고리의 기사 수를 확인하는 방법은 다음과 같습니다. 개인 취향에 따라 선택할 수 있습니다.
방법 1:
테마 디렉토리의 function.php에 다음 PHP 코드를 배치하세요.
function wt_get_category_count($input = '') { global $wpdb; if($input == '') { $category = get_the_category(); return $category[0]->category_count; } elseif(is_numeric($input)) { $SQL = "SELECT $wpdb->term_taxonomy.count FROM $wpdb->terms, $wpdb->term_taxonomy WHERE $wpdb->terms.term_id=$wpdb->term_taxonomy.term_id AND $wpdb->term_taxonomy.term_id=$input"; return $wpdb->get_var($SQL); } else { $SQL = "SELECT $wpdb->term_taxonomy.count FROM $wpdb->terms, $wpdb->term_taxonomy WHERE $wpdb->terms.term_id=$wpdb->term_taxonomy.term_id AND $wpdb->terms.slug='$input'"; return $wpdb->get_var($SQL); } }
그런 다음 필요한 경우 함수를 호출하면 됩니다. 이 함수는 세 가지 호출 방법을 제공합니다.
1. 메인 루프에서 이 함수를 호출하고 매개변수를 제공하지 않으면 첫 번째 카테고리의 기사 수가 반환됩니다.
<?php echo wt_get_category_count(); ?>
2. 제공된 매개변수는 숫자이고, 숫자는 카테고리의 ID 번호이며, ID에 해당하는 카테고리의 기사 수를 반환합니다.
<?php echo wt_get_category_count(1); ?>
3. 카테고리 별칭이 제공되면 해당 약어(별명)에 해당하는 카테고리 기사 개수가 반환됩니다.
<?php echo wt_get_category_count('hello-world'); ?>
이 기능은 하위 카테고리를 포함하는 카테고리의 기사 수에 약간의 통계적 오류가 있습니다. 분류된 기사 수가 0이면 통계가 별로 좋지 않습니다.
방법 2:
실제로 WordPress의 내장 함수 wp_list_categories()를 직접 사용할 수 있습니다. 함수를 전달할 때 주의하세요.
<?php echo strip_tags(wp_list_categories('include=3&hide_empty=0&use_desc_for_title =0&echo=0&show_count=1&style=none&hierarchical =0&title_li=')); ?>
include 매개변수에서 등호 뒤의 3을 기사 수를 계산하려는 카테고리 ID로 변경합니다. 최종 출력 형식은 카테고리 이름(기사 수)입니다.
방법 3:
WordPress 내장 함수 get_category_by_slug() 사용
<?php // 将以下category-name改成你的分类别名即可 echo get_category_by_slug('category-name')->count; ?>
방법 4:
WordPress 내장 함수 get_category 사용
<?php // 将以下cat_ID改成你的分类ID即可 echo get_category(cat_ID)->count; ?>
요약:
방법 1, 3, 4는 코드의 양으로 보면 방법 1이 가장 많은 코드를 갖고, 방법 3과 4가 가장 적은 수의 기사를 얻을 수 있습니다. 실행 효율성 측면에서 볼 때, 방법 1의 실행 시간은 약 0.002초로 가장 효율적이며, 방법 3의 실행 시간은 약 0.004초로 가장 짧습니다. 약 0.008초. 이렇게 실행 효율의 차이가 큰 이유는 방법 1은 기사 수를 구하는 한 가지에만 집중하고 데이터베이스 쿼리만 수행하는 반면, 방법 3, 4는 워드프레스 내장 기능이지만, 단 한 줄의 코드만 필요합니다. 그러나 분류된 항목의 수를 쿼리하기 위해 특별히 설계된 것이 아니라 분류에 대한 모든 정보를 얻기 위해 설계되었습니다. 또한 이 세 가지 방법은 하위 카테고리의 기사 수를 계산하지 않습니다.
위의 방법 중 어떤 것이 더 좋다, 나쁘다의 차이는 없습니다. 몇 밀리초의 실행 시간 차이는 전혀 느껴지지 않습니다. 개인 취향에 따라 해당 방법을 선택하면 됩니다.
지정된 카테고리 및 하위 카테고리의 기사 수를 가져옵니다
특정 카테고리와 모든 하위 카테고리의 기사 수를 가져와야 하는 경우가 있을 수 있습니다. 관련 구현 방법을 살펴보겠습니다.
먼저 구현 함수를 정의하고 다음 PHP 코드를 현재 테마의 function.php에 복사합니다.
function ludou_get_cat_postcount($id) { // 获取当前分类信息 $cat = get_category($id); // 当前分类文章数 $count = (int) $cat->count; // 获取当前分类所有子孙分类 $tax_terms = get_terms('category', array('child_of' => $id)); foreach ($tax_terms as $tax_term) { // 子孙分类文章数累加 $count +=$tax_term->count; } return $count; }
사용예
자, 함수가 정의되었습니다. 사용 시 ludou_get_cat_postcount 함수에 분류 ID 매개변수만 전달하면 됩니다.
<?php echo 'ID为123的分类及其子孙分类的文章数量为:' . ludou_get_cat_postcount(123); ?>