pachilar
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: コメント投稿で更新日を変更したいKUCKLU 様
KUCKLU 様
ありがとうございます。参考にさせてもらって、チャレンジしようと思います。
回答して下さった皆さん、ありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: コメント投稿で更新日を変更したいKUCKLU 様
ありがとうございます。書いて下さったコードだと投稿日順に並ぶことになりました。
私がやりたい事は
更新順に投稿ページを並べて各ページのコメントを最新の数件を出したいのです。コメントへのリンクは、http・・・・・・#comment-111のような形で各コメントへ直接向かうリンクです。
よろしければ再度お願いします。
フォーラム: 使い方全般
返信が含まれるトピック: コメント投稿で更新日を変更したいgblsm 様
ありがとうございます。感謝とともに上手く出来ない自分に歯痒いです。<?php $comments = get_comments( array( 'post_id' => get_the_ID(), 'status' => 'approve’, 'number' => 1 ) ); $mycomment = reset( $comments ); comment_text( $mycomment->comment_ID ); comment_date( 'Y/n/j G:i:s T', $mycomment->comment_ID ); ?>
こちらのコードでは表示はされるのですが
numberが効かず1件のみコメント表示
<?php comments_link(); ?>・<?php comment_ID(); ?>が効かない
コメントへのリンクは付けられませんでした。どちらもパラメータが効かず$mycomment->comment_IDが使えない&ループの中で使うらしく結果的に無理でした。
<?php $args = array( 'category' => 34, 'numberposts'=> -1, 'orderby' => 'modified' ); $postslist = get_posts( $args ); foreach ( $postslist as $post ) : setup_postdata( $post ); ?> <div>◆ <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><?php comments_number('(0)','(1)','(%)'); ?> </div> <div>最新コメント: <?php $comments = get_comments( array( 'post_id' => get_the_ID(), 'number' => 1 ) ); wp_list_comments( array(), $comments ); ?> </div> <?php endforeach; wp_reset_postdata(); ?>
こちらのコードも再トライしましたが、やはりコメントへのリンクが効かずプラグインを停止しても変わりませんでした。
プラグインを使って
wp_list_comments( array(‘type’ => ‘comment’,’status’ => ‘approve’,’callback’ => ‘gtcn_basic_callback’) , $comments );
と書いてみましたがダメでした。使い勝手の面から最初の(wp_list_commentsを使わない)方法でnumberが有効となりコメントへのリンクが出来れば理想的なのですが・・・・・
gblsm 様には何度もお世話になっていますので、お時間のある時にご教授いただければと思います。
急がず待ちますので、申し訳ありませんが宜しくお願い致します。フォーラム: 使い方全般
返信が含まれるトピック: コメント投稿で更新日を変更したいgblsm 様
コードまで書いて頂きありがとうございます。確かにダメだったとだけ言われても答えような無いですよね。
これからは気を付けます。書いていただいたコードで表示は出来たのですが、日付についているコメントへのリンクがページ送りの最初になっていて機能していませんでした。
Greg’s Threaded Comment Numberingプラグインの為にcallbackが掛っているのが原因かも知れません。
他の表示方法として
<?php $comments = get_comments( array( 'post_id' => get_the_ID(), 'status' => 'approve', 'number' => 1 ) ); $post = get_post($comment->comment_post_ID); ?> <?php comment_text(); ?>
これでは同じコメントしか出てこない結果となりました。
wp_list_commentsでしか表示は出来ないのでしょうか?
フォーラム: 使い方全般
返信が含まれるトピック: コメント投稿で更新日を変更したいgblsm 様
ありがとうございます。何度やってもエラーとなり上手く出来ないです。
現在は
<?php $args = array( 'category' => 34, 'numberposts'=> -1, 'orderby' => 'modified' ); $postslist = get_posts( $args ); foreach ( $postslist as $post ) : setup_postdata( $post ); ?> <span>◆ <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><?php comments_number('(0)','(1)','(%)'); ?> </span> <?php endforeach; wp_reset_postdata(); ?>
このようなコードで更新順にタイトルとコメント数は表示できています。
ご指摘いただいたようにget_comments()を追加する方向でやってみましたが、ダメでした。
甘えてばかりで申し訳ありませんが、どのようにget_comments()を追加すれば良いのか、ご指導いただければと思います。(すみません)前回上げたコードですが「comment_post」を使うと保留コメントやスパムでも更新されてしまうので「wp_insert_comment」こちらへ変更しました。
フォーラム: 使い方全般
返信が含まれるトピック: コメント投稿で更新日を変更したいgblsm 様
KUCKLU 様
ありがとうございます。出来る!と分かっただけで有りがたいのですが、実際にどうすれば良いのか?は全くイメージ出来ていないです。
テーマは5年以上前のテーマを勝手に変更して使っていたモノを引っ張りだして使っているので名前もわからないです。
phpコードは必要であればUPしますので、いつでも要求して下さい。
さて本題に入りますが、query postsで取得しようとするとコメントタグではエラーとなりました。
なので出来ない!と勝手に判断していましたが、どのようなコードであれば表示できるのでしょうか。
ヒントだけでも十分なので、宜しくお願いします。フォーラム: 使い方全般
返信が含まれるトピック: コメント投稿で更新日を変更したいgblsm 様
KUCKLU 様
ご指導ありがとうございます。某サイトの方から、ご教授いただきまして下記のコードでコメント投稿でページの更新日を変更する事が出来ました。感謝です。
add_action( ‘comment_post’, ‘my_comment_post’, 15, 1 );
function my_comment_post( $comment_ID ) {
$comment_data = get_comment( $comment_ID );
$my_data = array();
$my_data[‘ID’] = $comment_data->comment_post_ID;
$my_data[‘post_modified’] = $comment_data->comment_date;
$my_data[‘post_modified_gmt’] = $comment_data->comment_date_gmt;
wp_update_post( $my_data );
}
正直このコードに意味は良くわかっていないのですが、結果として実現できています。これで「最新コメント順で投稿ページ一覧を出力」は出来たのですが、そこに最新コメント1件を追加しての一覧は出来ませんでした。
当初の目標は「最新コメント順で投稿ページ一覧&その投稿での最新コメント1件を表示」なので、達成!とは言えない状態です。
私が調べた結果では、出来ない!ように感じました。
ですが、出来るよ!とのご意見を待ちたいです。よろしくお願い致します。
フォーラム: 使い方全般
返信が含まれるトピック: XREAサーバーのアップデートによる不具合