WordPressのコメント系関数のメモ

※WordPress 2.8.4 で調べた、コメントに関わる関数のメモです。

コメントに関するの関数

コメントに関するテンプレートタグは たいていは comment.phpcomment-template.php に存在します。 リンク生成の関数は link-template.php にもあります。

get_comments( $args = '' )

comment.php line 182, WordPress 2.7.0~

指定した投稿IDの全てのコメントを取得する。

$comments =  get_comments(
  array('post_id' => $post->ID, 'status' => 'approve', 'order' => 'ASC')
)

引数には配列が入る

get_comment_pages_count( $comments = null, $per_page = null, $threaded = null )

comment.php line 517, WordPress 2.7.0~

複数にわたるコメントが最大何ページまであるかを計算して返してくれる関数。

引数 $comments には get_comments 関数などで取得したコメントデータの配列を入れる。float型で返って来る。

$max = (int) get_comment_pages_count(
  get_comments( array('post_id' => $post->ID, 'status' => 'approve' ) ),
  intval( get_option('comments_per_page') ),
  intval( get_option('thread_comments') )
) ;

link-template.php line 1490, WordPress 2.7.0~

複数にわたるコメントページのリンクURLを返してくれる関数。

URLの末尾には "#comments" が加えられて返ってくる

ほか、comments_template, get_comment, get_comment_link, get_comment_count

などのテンプレートタグが用意されている

コメントページの条件

コメントページに関する条件分岐タグは無い?ようなので

(is_comments_popup はあるけども。。)

  • is_singular():これがFALSEを返す場合はコメントページが存在しない
  • get_query_var('cpage'):現在のコメントページ番号
  • $post->comment_count:ある一つの投稿のコメント総数
  • get_option('page_comments'):コメントを分割するかしないかの設定

などでコメントページかどうかを判断できる

Share