2

私はこの機能と投稿へのリンクを持っています:

<?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 件のコメントがあった場合、今のようにパーマリンクではなく、最初のコメントへのリンクが必要です。

this:
<a <?php href="<?php the_permalink(get_comments->$post_id) ?>">postname</a>と this like のバリエーションを使用してみcomment_post_IDましたが、動作させることができませんでした。私は何を間違っており、何をすべきですか?

4

1 に答える 1

0

オブジェクトと関数について混乱している可能性があると思います(それか、間違ってコピー/貼り付けしたかのいずれか)。get_comments->$post_id を実行しようとすると、get_comments はオブジェクトではなく、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 条件は、コメントが今日の真夜中以降に投稿された場​​合にのみエコーする必要があります。

于 2013-08-01T21:52:44.123 に答える