WordPress 제목 및 카테고리, wp_list_categories 기능. WordPress 카테고리에 대한 MySQL 함수 wp_list_categories를 사용하여 편리하고 안전한 작업을 위한 PHP 클래스

) 사용예를 보여드렸는데요 정규 표현식특정 조각을 찾으려면 소스 코드페이지. 이제 우리는 그것들을 직접 작성하는 방법을 배울 것입니다. 이 기술은 글쓰기, 불필요한 조각에서 텍스트 지우기, 대량의 텍스트에서 필요한 부분 검색 등에 도움이 됩니다.

발행일: 2013년 10월 20일

우리는 계속해서 liveinternet 방문자 통계 파서를 작성하고 있습니다. 누군가가 방금 우리에게 가입했다면 승인 없이 서비스에 연결한 것부터 시작하는 것이 좋습니다. 거기서 우리는 콘텐츠를 받는 방법을 배웠습니다. 열린 페이지, 비밀번호로 보호되지 않습니다. 하지만 실제로 대부분의 사이트에 대한 접근이 폐쇄되어 있기 때문에 이해하신 바와 같이 로그인 방법을 모르는 스크립트의 이점은 거의 없습니다. 하지만 걱정하지 마세요. 이제 모든 것을 고쳐드리겠습니다.

발행일: 2013년 8월 10일

안녕하세요, 독자 여러분! 이제 조금 연습할 시간입니다. 당신은 이미 글쓰기를 시작할 만큼 충분한 지식을 가지고 있습니다. 유용한 스크립트그러면 작업이 더 쉬워질 것입니다. 그 중 하나가 파서일 수 있습니다. 이것이 무엇인지 자세히 설명했으니 모르신다면 꼭 읽어보시길 권합니다. 간단히 말해서 파서의 본질은 검색 및 격리로 귀결됩니다. 필요한 정보큰 텍스트에서. 인터넷의 경우, 이는 웹사이트 페이지에서 필요한 데이터를 추출하는 것과 관련된 경우가 가장 많습니다. 우리의 경우에는 Liveinternet이 될 것입니다. 자, 가자!

발행일: 2013년 3월 10일

이 기사에서는 이에 대해 이야기합니다. 강력한 도구 cURL과 같은 도구와 이 도구에 대한 액세스를 제공하는 PHP용 라이브러리인 libcurl이 있습니다. 이게 다 뭐죠? http 또는 ftp와 같은 데이터 전송 프로토콜을 사용하여 서버와 통신합니다. 나머지 프로토콜은 우리에게 특별히 흥미롭지 않습니다. 누군가가 이 주제를 더 깊이 파고들고 싶다면 영어 리소스를 찾아봐야 하며 이 문서에는 기본 사항과 사용 예가 포함되어 있습니다.

발행일: 2012년 11월 24일

발행일: 2012년 11월 5일

이제 PHP에서 파일 작업에 대한 상당히 크지만 복잡하지는 않은 교훈이 있을 것입니다. 우선, 파일은 무엇입니까? 결국 모든 것을 데이터베이스에 저장할 수 있습니다. MySQL 데이터또는 PostgreSQL 또는 기타. 그러나 데이터베이스를 사용할 때 모든 처리 작업과 연결 보안에 대한 우려가 있는 작업은 바람직하지 않은 경우도 있습니다. 예를 들어, 일반 카운터를 만들어야 하는데 그 전에는 프로젝트에서 데이터베이스를 사용하지 않았습니다. 그렇다면 하나의 작은 카운터를 위해 데이터베이스를 만들고 여기에 몇 줄만 저장해야 할까요? 여기에서 파일을 사용하는 것이 훨씬 쉽습니다. 또한 호스팅에서 데이터베이스를 전혀 지원하지 않는 경우도 있으며 일반적으로 파일이 유일한 옵션입니다.

발행일: 2012년 11월 4일

사용자가 사이트에 텍스트(이름 또는 기타 정보)를 제출하도록 허용할 때마다 주의해야 합니다. 공격자가 사이트에 침입하는 데 사용할 수 있는 사이트 보안 구멍이 없는지 확인해야 합니다. 여전히 사용자로부터 데이터를 받아야 하는 경우 htmlentities 함수를 사용하여 해롭고 위험할 수 있는 HTML 코드나 스크립트의 실행을 방지하세요!

발행일: 2012년 11월 4일

이번 단원에서는 양식과 페이지 간에 데이터를 전달하는 기술을 살펴보겠습니다. 이러한 메소드는 POST 및 GET입니다. 각각에 대해 개별적으로 더 자세히 이야기하겠습니다. 일반적으로 이는 양식 간의 통신에 필요합니다. 예를 들어, 페이지의 일부 필드를 작성하고 처리를 위해 해당 필드를 다른 페이지로 전송해야 합니다.

발행일: 2012년 11월 3일

사실, 짐작하셨겠지만 do while 루프는 약간의 수정된 버전 while 루프, 이전 강의에서 했던 내용입니다. 일반적인 while 루프가 어떻게 작동하는지 기억한다면 새로운 루프를 이해하는 것이 더 쉬울 것입니다. 반복하자: while 루프의 본문은 조건이 참이면 실행되고, 참이 아니면 실행되지 않지만, 조건이 처음부터 거짓이면 한 번도 실행되지 않을 수 있습니다. 일하는 동안은 어떻게 지내나요?

발행일: 2012년 11월 3일

반복하려는 연관 배열이 있다고 상상해 보십시오. PHP는 Foreach 구문을 사용하여 배열의 각 요소를 차례로 사용하는 쉬운 방법을 제공합니다.

오늘 우리의 목표는 범주의 계층 구조를 만드는 것입니다. 카테고리를 저장하는 것이 편리하고 필요한 곳에 표시하기 쉬운 것이 우리에게 중요합니다.

때로는 간단한 일이 복잡해 보이기도 합니다. 그래서 저는 트리 형태로 PHP 카테고리를 구현하는 데 도움이 될 몇 가지 코드 조각을 게시하겠습니다.

따라서 구조는 카테고리 ID(id), 카테고리 이름(name), 물론 상위 카테고리의 ID(parent_id)로 구성되어야 합니다. MySQL에서는 다음과 같습니다.

존재하지 않는 경우 테이블 생성 `category` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `parent_id` int(11) NOT NULL, PRIMARY KEY (`id`)) 엔진 =InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;

카테고리를 저장하기 위한 최소한의 명확한 테이블 구조입니다.

INSERT INTO `category` (`id`, `name`, `parent_id`) VALUES (1, "휴대전화 및 태블릿", "0"), (2, "자동차", "0"), (3, "Samsung" ", "1"), (4, "Apple", "1"), (5, "LG", "1"), (6, "Ford", "2"), (7, "Lexus", "2"), (8, "BMW", "2"), (9, " 갤럭시탭 4", "3"), (10, "갤럭시 S6", "3");

값 parent_id=0인 경우 이 카테고리에는 상위 카테고리가 없습니다.

여기의 모든 것은 명확하고 간단합니다. 이제 카테고리 목록을 표시해 보겠습니다. 그러나 목록을 올바르게 표시하려면 먼저 PHP 범주의 전체 목록을 가져온 다음 재귀를 사용하여 트리를 형성해야 합니다. 다음 함수는 이 목록을 가져오도록 설계되었습니다.

함수 get_cat() ( //데이터베이스 쿼리 $sql = "SELECT * FROM 카테고리"; $result = mysql_query($sql); if(!$result) ( return NULL; ) $arr_cat = array(); if( mysql_num_rows( $result) != 0) ( //루프에서 배열을 형성합니다. for($i = 0; $i< mysql_num_rows($result);$i++) { $row = mysql_fetch_array($result,MYSQL_ASSOC); //Формируем массив, где ключами являются адишники на родительские категории if(empty($arr_cat[$row["parent_id"]])) { $arr_cat[$row["parent_id"]] = array(); } $arr_cat[$row["parent_id"]] = $row; } //возвращаем массив return $arr_cat; } }

//디렉토리 배열을 가져옵니다. $result = get_cat();

이제 재귀 함수가 필요합니다.

함수 view_cat($arr,$parent_id = 0) ( //재귀 종료 조건 if(empty($arr[$parent_id])) ( return; ) echo "

    "; // 배열을 반복하고 화면에 표시합니다. for($i = 0; $i< count($arr[$parent_id]);$i++) { echo "
  • " .$arr[$parent_id][$i]["name"]."; //재귀 - 하위 카테고리가 있는지 확인 view_cat($arr,$arr[$parent_id][$i]["id" ] ); 에코 "
  • "; ) 에코 "
"; }

이제 남은 것은 재귀 함수를 사용하여 화면에 디렉터리를 표시하는 것입니다.

View_cat($결과);

그리고 일반적으로 그게 전부입니다. 이런 식으로 우리는 끝없는 하위 카테고리가 있는 완전한 카테고리 트리를 얻을 수 있습니다.

모든 게시물과 항목에 대해 워드프레스 사용자하나 이상의 제목(범주)을 지정할 수 있습니다. 이 기능을 사용하면 의미가 유사한 게시물을 그룹화하여 방문자가 좋아하는 섹션만 읽고 볼 수 있는 기회를 제공할 수 있습니다. 예를 들어, 제가 메인 블로그인 Tod's Blog를 만들 때 디자인부터 프로그래밍까지 인터넷의 모든 미묘한 차이에 대해 글을 쓰려고 했습니다. 어떤 사람이 검색 엔진에서 Wordpress에 관한 기사를 보고 시스템에 대해 더 많은 내용을 읽고 싶어한다고 가정해 보겠습니다. 그는 아카이브를 뒤지고, 검색을 재사용하거나, 모든 게시물을 연속으로 살펴보아야 합니다. 물론 wordpress라는 특별한 범주로 이동하면 이 모든 것을 피할 수 있습니다. 또는 예를 들어 디자인에만 관심이 있는 사람들의 경우 블로그 섹션이 흥미로울 수 있습니다.

블로그 헤더를 자세히 살펴보면 WordPress 카테고리가 프로젝트의 섹션 역할을 하는 일종의 메뉴를 볼 수 있습니다. 나에게는 이것이 항목의 주제를 구분하는 매우 편리하고 시각적인 방법입니다.

페이지 중앙에 새 카테고리를 추가하는 양식이 표시됩니다. 여기에서 제목(이름), 라벨(CNC의 URL 링크의 일부), 상위 카테고리(있는 경우)를 지정해야 하며 설정할 수도 있습니다. 간단한 설명. 상위 카테고리를 사용하면 여러 수준의 중첩이 포함된 WordPress 섹션을 만들 수 있습니다. 예를 들어 일부 IT 블로그의 "WordPress" 카테고리에 대해 동일한 템플릿, 플러그인 등을 추가할 수 있습니다.

카테고리 페이지 오른쪽에는 편집 또는 삭제할 수 있는 모든 WordPress 카테고리가 표시됩니다. 작업을 수행하려면 특정 카테고리 이름 위로 마우스 커서를 이동하면 작은 팝업 메뉴가 표시됩니다.

편집할 때 기사에 대한 하나 이상의 카테고리를 선택할 수 있는 정보 블록 중 하나가 표시됩니다. 원하는 이름 옆의 확인란을 선택하면 됩니다.

여기서 해당 링크를 클릭하면 새 카테고리를 추가할 수 있습니다. 이 메커니즘의 유일한 단점은 생성할 때 이름과 상위 카테고리만 지정할 수 있는 반면, 라벨 필드를 설정하려면 "카테고리" 섹션으로 이동하여 정보를 편집해야 한다는 것입니다.

또한 게시물 – 편집 메뉴의 목록을 통해 블로그 게시물의 카테고리를 편집할 수 있습니다. 거기에서 특정 출판물 위로 마우스를 가져가면 "링크가 표시됩니다. 빠른 편집" 그것을 클릭하고 편집할 양식을 보십시오:

여기서 카테고리, 태그 및 모든 것을 변경할 수 있습니다. 추가 정보기사에 따르면. 매우 편리하며 페이지를 다시 로드하지 않고도 작동합니다.

WordPress 카테고리에 대한 wp_list_categories 함수

전통적으로 나는 시스템의 특정 요소를 다루는 문제뿐만 아니라 다음과 같은 사항도 고려합니다. 특수 기능템플릿용. 내가 말한 것처럼. 따라서 링크가 포함된 카테고리 목록을 표시하려면 wp_list_categories가 사용됩니다. 여기에는 여러 가지 인수가 있습니다.

  • show_option_all – 표시 스타일로 목록을 선택한 경우 모든 카테고리에 대한 링크를 표시합니다.
  • orderby – ID, 이름(name), 라벨(slug), 게시물 수(count)를 기준으로 카테고리를 정렬합니다.
  • order – 정렬 순서(ASC – 증가, DESC – 감소).
  • show_last_updated – 마지막 업데이트 날짜를 표시합니다.
  • 스타일 – 디자인 스타일: 목록, 분할
    (없음).
  • show_count – 카테고리의 게시물 수를 표시합니다.
  • hide_empty – 게시물이 없는 빈 카테고리를 숨깁니다.
  • use_desc_for_title – 링크의 제목 속성에 대한 설명을 사용합니다.
  • child_of – 지정된 상위 카테고리에 대한 카테고리만 표시합니다.
  • 피드 – 카테고리 피드에 대한 링크를 표시합니다.
  • Feed_type – 피드 유형.
  • Feed_image – RSS 아이콘의 이미지입니다.
  • 제외 – 목록에서 카테고리를 제외하고 child_of 매개변수는 자동으로 비활성화됩니다.
  • 제외_트리 – 전체 카테고리 분기를 제외합니다.
  • include는 목록에 지정된 WordPress 카테고리만 포함하는 역 매개변수입니다.
  • hierarchical – 하위 카테고리를 표시하기 위한 매개변수입니다.
  • title_li – 카테고리 목록의 제목입니다.
  • number - 표시할 카테고리 수(너무 많은 경우).
  • echo – 카테고리를 표시하며 기본값은 True입니다.
  • 깊이 – 표시할 하위 범주의 수준 수를 지정합니다.

마지막으로 wp_list_categories를 사용하는 여러 가지 예를 제시하겠습니다. 첫째, 이 블로그 헤더의 옵션입니다.

여기서는 숨겨진 카테고리를 표시하고, 목록에서 카테고리를 제외하고, 블록 제목에 빈 줄을 표시하고, 기사 수와 내림차순으로 정렬하도록 설정되었습니다(즉, 섹션에 가장 많은 기사가 있습니다). 마지막 인수는 카테고리 설명을 링크 제목으로 대체하지 않습니다.

글쎄, 그리고 몇 가지 더 간단한 상황이 있습니다. 카테고리의 제외 및 포함을 사용합니다.

워드프레스 제목과 카테고리에 대해 추가할 내용이 있으면 댓글에 적어주세요.

업데이트: 이 작은 해킹이 에 유용할 수도 있습니다. WordPress에서는 기본적으로 "카테고리의 모든 항목 보기..."와 같이 제목 텍스트가 정의되어 있습니다. 대신 카테고리 제목만 그대로 둘 수 있습니다. 위 링크에서 기사를 읽어보세요.

카테고리에 대한 정보가 포함된 객체 배열을 반환합니다.

이 함수에 전달된 매개변수는 wp_list_categories() 함수에 전달된 매개변수와 매우 유사하며 배열 또는 쿼리 문자열로 전달될 수 있습니다: type=post&order=DESC .

✈ 1회 = 0.005625초 = 매우 느림 | 50000회 = 11.98초 = 느림 | PHP 7.1.11, WP 4.9.5

$categories = get_categories($args) 사용; 사용 패턴 $categories = get_categories(array("taxonomy" => "category", "type" => "post", "child_of" => 0, "parent" => "", "orderby" => "name" , "order" => "ASC", "hide_empty" => 1, "hierarchical" => 1, "exclude" => "", "include" => "", "number" => 0, "pad_counts" => 거짓, // 전체 목록매개변수에 대해서는 함수 설명 http://wp-kama.ru/function/get_terms)을 참조하십시오. if($categories)( foreach($categories as $cat)( // $cat 객체의 데이터 // $cat->term_id // $cat->name (루브릭 1) // $cat->slug (rubrika - 1) // $cat->term_group (0) // $cat->term_taxonomy_id (4) // $cat->taxonomy (카테고리) // $cat->description (설명 텍스트) // $cat-> parent (0) // $cat->count (14) // $cat->object_id (2743) // $cat->cat_ID (4) // $cat->category_count (14) // $cat-> Category_description (설명 텍스트) // $cat->cat_name (루브릭 1) // $cat->category_nicename (rubrika-1) // $cat->category_parent (0) ) ) 분류 (선)처리할 분류법의 이름입니다. 버전 3.0부터 추가되었습니다.
기본값: "범주"유형 (선)
  • 게시물 - 게시물 카테고리(기본값)
  • 링크 - 링크 섹션.
    기본값: "게시물"
의 아이 (선)지정된 카테고리의 하위 카테고리(모든 중첩 수준 포함)를 가져옵니다. 매개변수는 상위 카테고리(표시하려는 중첩 카테고리가 있는 카테고리)의 ID를 지정합니다. 부모의 (숫자)상위 카테고리가 매개변수에 지정된 ID와 동일한 카테고리를 가져옵니다. child_of와의 차이점은 한 수준의 중첩이 표시된다는 것입니다.
기본: ""주문 (선)

특정 기준에 따라 수신된 데이터를 정렬합니다. 예를 들어 각 카테고리의 게시물 수 또는 카테고리 이름을 기준으로 합니다. 다음 기준을 사용할 수 있습니다.

  • ID - ID별로 정렬합니다.
  • 이름 - 이름순으로 정렬(기본값)
  • 슬러그 - Alt로 정렬합니다. 이름(슬러그);
  • 개수 - 카테고리의 항목 수 기준
  • term_group - 그룹별.

기본값: "이름"

주문하다 (선)

"orderby" 매개변수에 지정된 정렬 방향:

  • ASC - 가장 작은 것부터 가장 큰 것 순으로(1, 2, 3; a, b, c)
  • DESC - 가장 큰 것부터 가장 작은 것까지 역순으로 표시됩니다(3, 2, 1; c, b, a).

기본값: "ASC"

Hide_empty (논리적)

빈 카테고리(항목 없음) 수신 여부:

  • 1(true) - 빈 것을 받지 않음,
  • 0(거짓) - 빈 것을 받습니다.

기본값: 참

계층적 (논리적) true 로 설정하면 하위 카테고리에 (비어 있지 않은) 항목이 있는 빈 하위 카테고리가 결과에 포함됩니다.
기본값: 참들어오지 못하게 하다 (문자열/배열)목록에서 모든 카테고리를 제외하세요. 카테고리 ID는 쉼표로 구분하거나 배열로 지정해야 합니다. 이 매개변수를 지정하면 child_of 매개변수가 재정의됩니다.
기본: ""포함하다 (문자열/배열)지정된 카테고리만 나열합니다. 카테고리 ID는 쉼표로 구분하거나 배열로 지정해야 합니다.
기본: ""숫자 (숫자)한계. 검색할 카테고리 수입니다. 기본적으로 제한은 없습니다. 모든 카테고리가 검색됩니다. 패드 개수 (논리적) true를 전달하면 상위 카테고리의 게시물 수를 표시하는 숫자는 해당 게시물과 하위 카테고리의 게시물의 합계가 됩니다.
기본값: 거짓

예 #1 드롭다운 목록

카테고리의 드롭다운 목록을 생성하기 위해 이 목적을 위한 또 다른 특수 함수인 wp_dropdown_categories()를 사용할 수 있습니다.

Wp_dropdown_categories(array("hide_empty" => 0, "name" => "category_parent", "orderby" => "name", "selected" => $category->parent, "hierarchical" => true, "show_option_none" => __("없음")));

그러나 이 접근 방식을 사용하면 완전한 형식의 목록을 받게 되므로 목록 설정 시 어느 정도 유연성을 잃게 됩니다.

따라서 어떤 경우에는 get_categories() 함수를 사용하여 드롭다운 목록을 만드는 것이 더 논리적일 수 있습니다. 다음은 예입니다(카테고리 10의 하위 카테고리(하위)를 표시해야 한다고 가정).

#2 카테고리 목록 및 설명

이 예는 카테고리에 대한 링크 목록을 표시하는 방법을 보여줍니다. 각 링크 바로 뒤에는 카테고리에 대한 설명이 있습니다(카테고리 생성/편집 시 지정됨).

노트
  • 참조: get_terms() 변경할 수 있는 인수 유형.
변경사항 목록
버전 2.1.0부터 소개되었습니다.
카테고리 코드 가져오기: wp-includes/category.php WP 5.3.2
공유하다