需要在Foreach循环内输出COMMENT_FORM()函数

时间:2019-09-04 作者:Silvester Vella

我试图在foreach循环中显示一个注释框,但是comment\\u form函数会先输出其他内容。这是我正在尝试的代码。一切都在展示,只是不在正确的地方。有什么想法或不同的方法吗?

                // get comments
            $achievment_post .= \'<ol class="commentlist">\';
              //Gather comments for a specific page/post 
              $comments = get_comments(array(
                \'post_id\' => $achievment->ID,
                 \'status\' => \'approve\'
              ));
              $achievment_post .= wp_list_comments(array(
                \'per_page\' => 10, // Allow comment pagination
                 \'reverse_top_level\' => false //Show the latest comments at the top of the list
               ), $comments);

              $achievment_post .= \'</ol>\';

            // comment box

            $achievment_post .= comment_form($args , $achievment->ID);

1 个回复
SO网友:Tom J Nowell

这是因为您在输出之前在变量中收集HTML,但是comment_form 不返回HTML,它会立即呈现。

因此,消除$achievement_post 变量,并直接使用echo 相反,事情会像你期望的那样更加顺利

相关推荐

按字母顺序对填充的GravityForms列表进行排序

希望有人能帮助一个新手,因为我不知道该怎么做。我的函数中有以下代码。填充GravityForms表单产品“复选框列表”的php。用户使用复选框在网站上选择GF表单中的产品。每个拉入复选框列表的产品都是一个单独的WordPress帖子。我很难按字母顺序对复选框进行排序,以便用户可以在100多个不同的产品(帖子)中轻松找到产品。我找不到任何其他看起来有点相似的论坛帖子,所以我可以自己解决如何排序。第一部分是按字母顺序对复选框进行排序,我需要的第二部分是排除两个标记为“系统”的帖子,或者排除这两个帖子,因为它们