返回介绍

get_comment_pages_count()

发布于 2017-09-10 23:07:52 字数 4411 浏览 940 评论 0 收藏 0

get_comment_pages_count( array $comments = null,  int $per_page = null,  bool $threaded = null )

Calculate the total number of comment pages.


description


参数

$comments

(array) (Optional) array of WP_Comment objects. Defaults to $wp_query->comments

Default value: null

$per_page

(int) (Optional) comments per page.

Default value: null

$threaded

(bool) (Optional) control over flat or threaded comments.

Default value: null


返回值

(int) Number of comment pages.


源代码

File: wp-includes/comment.php

function get_comment_pages_count( $comments = null, $per_page = null, $threaded = null ) {
	global $wp_query;

	if ( null === $comments && null === $per_page && null === $threaded && !empty($wp_query->max_num_comment_pages) )
		return $wp_query->max_num_comment_pages;

	if ( ( ! $comments || ! is_array( $comments ) ) && ! empty( $wp_query->comments )  )
		$comments = $wp_query->comments;

	if ( empty($comments) )
		return 0;

	if ( ! get_option( 'page_comments' ) ) {
		return 1;
	}

	if ( !isset($per_page) )
		$per_page = (int) get_query_var('comments_per_page');
	if ( 0 === $per_page )
		$per_page = (int) get_option('comments_per_page');
	if ( 0 === $per_page )
		return 1;

	if ( !isset($threaded) )
		$threaded = get_option('thread_comments');

	if ( $threaded ) {
		$walker = new Walker_Comment;
		$count = ceil( $walker->get_number_of_root_elements( $comments ) / $per_page );
	} else {
		$count = ceil( count( $comments ) / $per_page );
	}

	return $count;
}

更新日志

Versiondescription
2.7.0Introduced.

相关函数

Uses

  • wp-includes/query.php: get_query_var()
  • wp-includes/class-wp-walker.php: Walker::get_number_of_root_elements()
  • wp-includes/option.php: get_option()

Used By

  • wp-includes/link-template.php: get_the_comments_navigation()
  • wp-includes/link-template.php: get_next_comments_link()
  • wp-includes/link-template.php: paginate_comments_links()
  • wp-includes/comment-template.php: wp_list_comments()
  • wp-includes/comment-template.php: comments_template()

User Contributed Notes

  1. Skip to note content You must log in to vote on the helpfulness of this noteVote results for this note: 0You must log in to vote on the helpfulness of this note Contributed by Codex

    Basic Usage

    This function can be used within the loop like this:

    
    $pages = get_comment_pages_count();
    
  2. Number of comments per page

    This will use the defaults for the number of comments per page and threading. You can use custom values like this:

    
    // Show 25 comments per page.
    $pages = get_comment_pages_count( null, 25 );
    
    // Don't thread comments.
    $pages = get_comment_pages_count( null, null, false ); 
    
    // Show 10 comments per page, use threading.
    $pages = get_comment_pages_count( null, 10, true ); 
    

    Outside the loop

    When inside the loop, you can just pass null as the value for the $comment parameter, as shown above. You can also use the function outside the loop, but you need to pass in the array of comments. For example, you may perform a custom comment query using WP_Comment_Query:

    
    $args = array(
       // query args here
    );
    
    $comments_query = new WP_Comment_Query;
    $comments = $comments_query->query( $args );
    
    $pages = get_comment_pages_count( $comments );
    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文