Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果Wordpress中今天有评论,请获取(第一个)评论的链接_Php_Wordpress_Function_Foreach_Comments - Fatal编程技术网

Php 如果Wordpress中今天有评论,请获取(第一个)评论的链接

Php 如果Wordpress中今天有评论,请获取(第一个)评论的链接,php,wordpress,function,foreach,comments,Php,Wordpress,Function,Foreach,Comments,我有这个功能和一个帖子链接: <?php foreach ($results as $id) { $post = &get_post( $id->ID ); setup_postdata($post); <li><a <?php href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a> </li>

我有这个功能和一个帖子链接:

<?php
foreach ($results as $id) {
  $post = &get_post( $id->ID );
  setup_postdata($post);

  <li><a <?php href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>

</li>
  <?php
} ?>

我想做的是:如果今天发布了一条评论,请显示第一条评论的链接。例如:如果今天有4条评论,我希望链接到第一条评论,而不是像现在这样的永久链接

我试着用这个:

和类似于
评论\u post\u ID
的变体,但我无法让它工作。我做错了什么?我应该怎么做?

我想你可能会对对象和函数感到困惑(或者是你复制/粘贴错了)。当您尝试执行get_comments->$post_id时,这将不起作用,因为get_comments不是对象。请查看我在下面所做的工作,因为它可能会对您有所帮助:

<?php
foreach ($results as $id) {
  $post = &get_post( $id->ID );
  setup_postdata($post);

  $args = array('post_id' => $id->ID, 'number' => 1);
  $lastComment = get_comments($args);

  if (!empty($lastComment[0]) and $lastComment[0]->comment_date > date('Y-m-d 00:00:00')){
    echo '<li><a href="'.get_comment_link($lastComment[0]).'">'.the_title().'</a></li>';
  }
?>


get_comments()将接受一系列的讨论,在上面我向它传递了postID和计数1,因此它只提取最后一条评论。它仍然会提取今天未发表的评论,尽管如此,我添加的if条件应该只在评论在今天午夜之后发布时才响应它。

再次检查,我进行了编辑。我不知道它会100%起作用,它意味着让你走上正确的轨道。对于语法错误,通常可以查找行号来尝试修复这些错误。它是中的
  • 标记,如果我测试它,它会告诉我
    不能在
    中将字符串偏移量用作数组。我也在想解决办法是什么。问得好,伙计。我只是在本地运行了一下,有两件事出了问题。1) 我使用的是'count'=>1而不是'number'=>1'count'将告诉它只返回评论数量的计数。2) 当数组是一个对象时,我一直期望它会被返回。但这只会让我得到
    最近的注释
    ,而不是
    每篇文章最近的注释
    。你能修一下吗?实际上,这就是问题所在……如果您查看$args数组,它确实包含post_id参数。因此,只要$id->id正在更改(并且是正确的帖子id),它就应该只在每篇帖子中插入最后一条评论。