자식 페이지가 있는 경우에 자식 페이지 목록을 보여주기 위해 wp_list_pages(); 기능을 사용할 수 있습니다.
하지만 그냥 사용하게 될 경우 모든 페이지가 표시됩니다.
사이트에 있는 모든 페이지가 표시되고 심지어 'Pages'라는 제목까지도 기본 텍스트로 표시가 됩니다.
따라서 array기능에 더해 associative array까지 함께 사용할 필요가 있습니다.
'A' => 'B' A는 B가 되도록 사용할 수 있는 기능입니다.
하지만 echo에서 'A'만 넣으면 아래서 볼 수 있는 것처럼 B가 표시됩니다.
이 경우에는 'dog'이기 때문에 사이트에 'bark'가 표시됩니다.
우선 wp_list_pages에 associate array를 사용하겠습니다.
첫 번째로 리스트의 제목인 'page'를 없애기 위해 'title_li' => NULL 을 사용하였습니다.
이렇게 하여 없어진 결과물을 확인할 수 있습니다.
또한 child_of 기능에서 페이지 ID 3만 테스트로 표시하여 고정으로 특정한 페이지가 아래처럼 표시되게 할 수 있습니다.
그러나 언제나 그러하듯이 코딩은 하드 코딩 즉 고정으로 숫자를 입력하는 것이 아니라 다이나믹 코딩으로 Variable과 기능을 사용하여 페이지마다 맞게 표시되게 할 필요가 있습니다.
따라서 위와 같이 $findChildrenOf라는 variable과 $theParent variable을 함께 사용하게
됩니다.
$theParent 값이 1이상 즉 자식 페이지(부모 페이지가 있는 경우)라면
$findChildrenOf = $theParent; (이 코드는 자식 페이지일 경우에만 한다)
else = 또는 이라는 기능.
$findChildrenOf = get_the_ID(); (새로 만든 variable)
위에 코드로 자식 페이지에서 여전히 자식 페이지 메뉴를 볼 수 있도록 함.
*$theParent variable은 이전에 만든 variable 입니다. (아래 참조)
이렇게 하여 각 페이지에 맞는 자식 페이지를 표시되게 합니다.
또한 부모 페이지 링크가 메뉴에서 작동할 수 있도록 php코드를 사용해 줍니다.
get_the_title($theParent); 기능을 통해 메뉴에서 부모 페이지 제목을 표시되게 합니다.
그리고 get_permalink($theParent); php 코드와 html 코드인 a href를 사용하여 해당 페이지의 링크까지 가지고 옵니다. 따라서 해당 부모 페이지 제목 메뉴를 누르면 해당 페이지로 이동하게 됩니다.
$testARray = get_pages(array(
'child_of' => get_the_ID() 자식 페이지가 있는 경우 ID를 가지고 오지만 없는 경우 코드가 작동하지 않는다.
if 기능에 A or B. or 기능을 사용할 수 있습니다. 두 가지 중 하나의 조건을 가지고 온다는 뜻입니다.
더 나아가 자식 페이지가 없는 그냥 페이지 같은 경우에는 메뉴 목록이 아예 표시되지 않도록 메뉴 부분 전체를 php코드에 감싸게 됩니다.
'코딩' 카테고리의 다른 글
워드프레스 HTML 메뉴 설정하기 (0) | 2022.12.13 |
---|---|
워드프레스 다이나믹 메뉴 설정하기 (0) | 2022.12.13 |
php에서 echo를 써야할까 안써야할까 (0) | 2022.12.12 |
워드프레스에서 부모 페이지 자식 페이지 만들고 연결해주기 (0) | 2022.12.10 |
HTML 템플릿을 워드프레스로 불러오기 (0) | 2022.12.10 |