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),它就应该只在每篇帖子中插入最后一条评论。