我正在尝试使用此处提供的解决方案,在我的主页上显示特定帖子的随机评论:
https://stackoverflow.com/questions/11790239/random-comments-on-page-wordpress/11790460#11790460
这是可行的,但它从一篇随机的帖子中抽取一条随机评论,而不是用短代码选择我指向的帖子。有人知道如何解决这个问题吗?
add_shortcode( \'randomComment\', \'randomComment_handler\' );
function randomComment_handler($post_id) {
extract( shortcode_atts( array(
\'post_id\' => \'0\',
), $atts ) );
$out = "";
$comments = get_comments("post_id=$post_id&status=approve");
if ($comments) {
$ndx = mt_rand(0,sizeof($comments)) - 1;
$comment = $comments[$ndx];
$out = "<div class=\'randomComment\'><div class=\'randomAuthor\'>".$comment->comment_author."</div><div class=\'randomText\'>".$comment->comment_content."</div></div>";
}
return $out;
}
以及短代码:
[randomComment post_id="463"]
最合适的回答,由SO网友:birgire 整理而成
代码段的主要问题是这一行:
function randomComment_handler($post_id) {
查看上的抄本
add_shortcode()
看看你能不能找到错误。
Spoiler: 应该是这样的:
函数randomComment\\u处理程序($atts,$content=NULL){
ps:您还应该避免使用extract()
, 使用$atts[\'post_id\']
相反
进一步考虑将第三个参数添加到shortcode_atts()
作用