> 백엔드 개발 > PHP 튜토리얼 > WordPress_php 기술에서 주석 페이지 매김 기능을 구현하는 PHP 스크립트 작성

WordPress_php 기술에서 주석 페이지 매김 기능을 구현하는 PHP 스크립트 작성

WBOY
풀어 주다: 2016-05-16 20:03:19
원래의
1194명이 탐색했습니다.

방법 설명

먼저 사용할 수 있는 방법을 살펴보겠습니다. wp-includes/link-template.php 파일을 열면 WordPress 2.7에 댓글 페이지 매김을 위한 4가지 방법이 더 있다는 것을 알 수 있습니다.

  • get_comments_pagenum_link
  • $pagenum: 페이지 번호
  • $max_page: 최대 페이지 수

반환 링크 주소는 이 애플리케이션에서는 사용되지 않지만 플러그인을 쉽게 만들 수 있는 이 방법이 있다는 것을 모두가 알아야 합니다.

next_comments_link

$label: 표시되는 단어, 기본값은 » Newer Comments입니다. 하지만 저는 항상 이것이 버그라고 생각했습니다. Newer Comments »여야 합니다. 그렇죠?

$max_page: 최대 페이지 수

다음 페이지로 이동할 수 있는 링크를 표시합니다.

previous_comments_link
$label: 표시되는 단어, 기본값은 « 이전 댓글입니다.
이전 페이지로의 링크를 보여줍니다.

paginate_comments_links
$args: 문자열 매개변수 그룹
- 기본: 페이지 URL
- 형식: 뭔지 모르겠어요.
- 전체: 최대 페이지 수
- 현재: 현재 페이지 번호
- 에코: 표시 여부, 기본값은 표시입니다. 표시되지 않으면 HTML 문자열을 반환합니다.
- add_fragment: hash, 기본값은 #comments 입니다. 통일성을 확보하고, 이해를 돕고, 수정을 방지하기 위해 테마 생성 시 댓글란에 id="comments"
를 사용하는 것을 권장합니다. 댓글 탭을 표시하거나 댓글 탭에 대한 HTML을 반환합니다.

1. 이전 페이지와 다음 페이지
가장 간단하고 흔히 언급되는 방식으로, 기사 페이지 매김과 효과가 다르지 않습니다.

<div id="commentnavi">
 <span class="floatleft"><&#63;php previous_comments_link(__('&laquo; Older Comments')) &#63;></span>
 <span class="floatright"><&#63;php next_comments_link(__('Newer Comments &raquo;')) &#63;></span>
 <div class="fixed"></div>
</div>
로그인 후 복사

2. 내비게이션 페이징
방문자에게 가장 투명하고 사용이 가장 편리하며 효과는 WP-PageNavi 페이징을 사용하는 것과 유사합니다.

<div id="commentnavi">
 <&#63;php paginate_comments_links(); &#63;>
</div>
로그인 후 복사

앞의 두 예시를 보면 우리가 원하는 기능은 모두 구현 가능한 것 같지만, 백그라운드에서 댓글 페이지 매기기나 페이지 수를 표시하지 않도록 선택하면 좀 이상하지 않나요? 댓글로는 페이지네이션이 부족해서 ID도 표시해야 하나요? 아니오, 이 프로그램을 바꿔야 합니다.
get_option('page_comments') 메소드를 호출하여 배경 댓글 페이징 옵션을 얻을 수 있습니다.
또한 paginate_comments_links('echo=0') 메소드를 호출하여 댓글이 충분하고 페이지를 매겨야 하는지 알 수 있습니다.

3. 이전 페이지 및 다음 페이지(개선됨)

<&#63;php
 // 如果用户在后台选择要显示评论分页
 if (get_option('page_comments')) {
 // 获取评论分页的 HTML
 $comment_pages = paginate_comments_links('echo=0');
 // 如果评论分页的 HTML 不为空, 显示上一页和下一页的链接
 if ($comment_pages) {
&#63;>
 <div id="commentnavi">
 <span class="floatleft"><&#63;php previous_comments_link(__('&laquo; Older Comments')) &#63;></span>
 <span class="floatright"><&#63;php next_comments_link(__('Newer Comments &raquo;')) &#63;></span>
 <div class="fixed"></div>
 </div>
<&#63;php
 }
 }
&#63;>
로그인 후 복사

4. 네비게이션 페이징(개선됨)

<&#63;php
 // 如果用户在后台选择要显示评论分页
 if (get_option('page_comments')) {
 // 获取评论分页的 HTML
 $comment_pages = paginate_comments_links('echo=0');
 // 如果评论分页的 HTML 不为空, 显示导航式分页
 if ($comment_pages) {
&#63;>
 <div id="commentnavi">
 <&#63;php echo $comment_pages; &#63;>
 </div>
<&#63;php
 }
 }
&#63;>
로그인 후 복사

최신 댓글 페이지 기능에 대해서는 개인적인 의견이 있어서 이만 말씀드리겠습니다.
댓글 페이지 매김이 완벽하지 않습니다. 외부 링크가 http://www.example.com/#5630으로 리디렉션되는데 5630이라는 댓글이 첫 번째 페이지에 없으면 이 댓글을 찾아 리디렉션할 수 없습니다. 불편할 것 같아요.
또한, WordPress의 댓글 페이지 매김은 AJAX 애플리케이션이 아니므로(브라우저 호환성을 위해 앞으로도 그럴 가능성은 낮음) 페이지를 넘기는 데 상당한 시간이 소요되므로 페이징이 필요한 경우에도 댓글이 표시되도록 하는 것이 좋습니다. 각 페이지의 숫자를 30? 100?으로 설정해야 합니다.

그렇습니다. 이미 사용법을 알고 계시나요? CSS에 대해서는 자세히 설명하지 않겠습니다. 사람마다 장점이 있다고 말하기는 어렵습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿