我希望显示trackbacks
, pingbacks
和comments
一个帖子有。我已经阅读了所有关于它们的内容,我想知道是否有一个我没有看到的简单解决方案可用。
我知道wp_count_comments
(trac line 1188) 在进行数据库查询之前在WPs缓存中进行搜索,我想知道pingbacks 和trackbacks.
现在我在用这个modified code 显示注释、trackback、pingbacks和ping的数量(trackbacks+pingbacks)
function commentCount( $type = \'pings\' ) {
global $wpdb;
if ( $type == \'pings\' ) {
$typeSql = \'comment_type != ""\';
} elseif ( $type == \'trackbacks\' ) {
$typeSql = \'comment_type = "trackback"\';
} elseif ( $type == \'pingbacks\' ) {
$typeSql = \'comment_type = "pingback"\';
}
$result = $wpdb->get_var( \'
SELECT
COUNT(comment_ID)
FROM
\' . $wpdb->comments . \'
WHERE
\' . $typeSql . \' AND
comment_approved="1" AND
comment_post_ID= \' . get_the_ID()
);
return $result;
}
$comments = wp_count_comments( get_the_ID() );
$trackbacks = commentCount( \'trackbacks\' );
$pingbacks = commentCount( \'trackbacks\' );
$pings = commentCount( \'pings\' );
最合适的回答,由SO网友:Tomás Cot 整理而成
我想你可以用get_comments
.
在type
参数可以传递注释类型(trackback、ping),可以按状态筛选,并且有一个名为count
, 当设置为true
仅返回与您传递的参数匹配的注释数。
get_comments(
array(
\'status\' => \'approve\',
\'post_id\'=> get_the_ID(),
\'type\'=> \'pings\',
\'count\' => true)
);
此示例获取帖子的已批准ping数,您必须在循环中使用它,如果不是,则在函数中使用它
get_the_ID()
行不通,但你只需按你的意愿传递ID即可。