「メイド・イン・ヘブン」スキン適用中

Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

WordPressでサイト内の全コメン...
 
共有:
通知
すべてクリア

[解決済] WordPressでサイト内の全コメントを一覧表示したい

7 投稿
3 ユーザー
2 Likes
2,091 表示
みょこ
(@ukigumo413)
Trusted Member Registered
結合: 5年前
投稿: 50
Topic starter  

以前からお世話になっております株式投資のブログで、コメントのやりとりも価値のある内容の物が多いため埋もれさせてしまうのがもったいないという考えから、サイト内の全コメントを一覧表示するページを作成しました。

現行の一覧ページはこちらでして、「最新のコメント」ウィジェットのブロックを挿入しています。

しかしこのやり方ですと最大で100件までしか表示されず、アクセス・コメントが増えてきたためまもなく古いコメントが読めなくなってしまいます。

やりたいこととしては以下の通りです。

  • サイト内の全コメントを新着順で表示する
  • ページネーションを設置する(負荷対策)
  • 抜粋する文字数を指定したい(優先度は低いです)

本当はcocoonのコメントウィジェットカスタマイズからテンプレート用にphpが書ければ良いのですが、私のスキルが足りず、すぐに取り入れることが出来ません。

それで、自分でも理解できる内容だったサルワカさんの「WordPressでサイト内の全コメントを一覧表示する方法」を参考に、このようなページを作成しました。 https://piffy.tokyo/comments/

page-comments.phpの中身はこのようになっています。

<?php get_header(); ?>
<?php
define("COMMENT_NUMBER_PER_PAGE", 20);// 1ページあたりのコメント数
$page = (int) @$_REQUEST["page_number"] ?: 1;
$offset = ($page * COMMENT_NUMBER_PER_PAGE) - COMMENT_NUMBER_PER_PAGE;
$comment_base_args = [
"parent" => 0,//コメント一覧から返信を除く
"type" => "comment",
"status" => "approve",
];
$total_comment_count = count(get_comments($comment_base_args));
$total_pages = ceil($total_comment_count/COMMENT_NUMBER_PER_PAGE);
$get_comments_args = array_merge($comment_base_args, [
"offset" => $offset,
"number" => COMMENT_NUMBER_PER_PAGE,
]);
?>
<h1 class="entry-title">コメント一覧(<?php echo $page; ?>ページ目)</h1>
<dl class="recent-comments">
<?php foreach(get_comments($get_comments_args) as $comment) : ?>
<dt><?php echo get_avatar($comment, 50); ?></dt>
<dd>
comment_author; ?>


comment_id ); ?>


comment_post_ID).'#comment-'.$comment->comment_ID.'">'.$comment->post_title.''; ?>

</dd>
<?php endforeach; ?>
</dl>

<?php get_footer(); ?>

しかし、この方法だとサイト管理者のコメントがなぜか表示されません。

cocoonのコメントウィジェットのカスタマイズから「author__not_in」を使えば良いのかな?というところまでは思い至ったのですが、ここからどうしたら良いかがわからずお手上げ状態です。

どなたかヒント頂けましたら大変助かります。

何を書いて何を書かなくてもよいのかがわからなくなってきておりまして、冗長な内容で申し訳ありません。


   
引用
みょこ
(@ukigumo413)
Trusted Member Registered
結合: 5年前
投稿: 50
Topic starter  

コード部分がおかしいですね…

cocoonのカスタマイズのようにechoを使う方法で書き換えてみましたが、上手く貼れますでしょうか?

<?php get_header(); ?>
<?php
define("COMMENT_NUMBER_PER_PAGE", 20);// 1ページあたりのコメント数
$page = (int) @$_REQUEST["page_number"] ?: 1;
$offset = ($page * COMMENT_NUMBER_PER_PAGE) - COMMENT_NUMBER_PER_PAGE;
$comment_base_args = [
"parent" => 0,//コメント一覧から返信を除く
"type" => "comment",
"status" => "approve",
];
$total_comment_count = count(get_comments($comment_base_args));
$total_pages = ceil($total_comment_count/COMMENT_NUMBER_PER_PAGE);
$get_comments_args = array_merge($comment_base_args, [
"offset" => $offset,
"number" => COMMENT_NUMBER_PER_PAGE,
]);
?>
<h1 class="entry-title">コメント一覧(<?php echo $page; ?>ページ目)</h1>
<dl class="recent-comments">
<?php
foreach(get_comments($get_comments_args) as $comment) :
echo "\t".'<dt>';
echo get_avatar($comment, 38);
echo '</dt>'."\n";

echo "\t".'<dd>'."\n";
echo "\t".'
';
echo $comment->comment_author;
echo '
';

echo '
';
echo comment_date("Y/m/d", $comment);
echo '
';

echo '
';
comment_text( $comment->comment_id );
echo '
';

echo ''."\n";
echo "\t".'</dd>'."\n";
endforeach;
?>
</dl>

<?php get_footer(); ?>

投稿した後に、アイコンのサイズだけ50から38に変えています。


   
返信引用
みょこ
(@ukigumo413)
Trusted Member Registered
結合: 5年前
投稿: 50
Topic starter  

div class="recent-comment-author"

以降がおかしくなるようです…
正直なところ、おかしくなっている箇所は基本的にechoでhtmlを書いているぐらいなので、あまり重要ではないとは思うのですが…


   
返信引用
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16475
 

申し訳ないですが、サポート対象外のものにもあるように、独自カスタマイズによる不具合対応は、サポートの対象外とさせていただいています。
独自カスタマイズまでサポートの対象としてしまうと、とても個人対応では追いつかないので、プロの方もしくはクラウドソーシング等でにご依頼いただければと思います。


   
返信引用
みょこ
(@ukigumo413)
Trusted Member Registered
結合: 5年前
投稿: 50
Topic starter  

なるほど!ありがとうございます!
こういった相談をどこで行えば良いのかもわからなかったので、アドバイス助かりました!


   
わいひら reacted
返信引用
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16475
 

ココナラとかだと、比較的安価から依頼できるかと思います。
https://coconala.com/search?keyword=WordPress+%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA


   
返信引用
かうたっく
(@kautakku)
Famed Member Moderator
結合: 6年前
投稿: 4764
 

ほかは、サルワカにコメントできるのであればコメントすれば良いと思います。

質問された側はコンテンツに追加することも可能ですし、よりサイト内記事の強化にもつながる事も稀にあるので。

※コメントの返信をするタイプとしないタイプの人もいるので、何ともいえませんけどねっ❦


   
わいひら reacted
返信引用
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました