サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2019年8月12日 02:15
以前からお世話になっております株式投資のブログで、コメントのやりとりも価値のある内容の物が多いため埋もれさせてしまうのがもったいないという考えから、サイト内の全コメントを一覧表示するページを作成しました。
現行の一覧ページはこちらでして、「最新のコメント」ウィジェットのブロックを挿入しています。
しかしこのやり方ですと最大で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_id ); ?>
comment_post_ID).'#comment-'.$comment->comment_ID.'">'.$comment->post_title.''; ?>
</dd>
<?php endforeach; ?>
</dl>
echo paginate_links([
"format" => "?page_number=%#%",
"total" => $total_pages,
"current" => $page,
"prev_text" => "",
"next_text" => "",
"type" => "plain"
]);
?>
<?php get_footer(); ?>
しかし、この方法だとサイト管理者のコメントがなぜか表示されません。
cocoonのコメントウィジェットのカスタマイズから「author__not_in」を使えば良いのかな?というところまでは思い至ったのですが、ここからどうしたら良いかがわからずお手上げ状態です。
どなたかヒント頂けましたら大変助かります。
何を書いて何を書かなくてもよいのかがわからなくなってきておりまして、冗長な内容で申し訳ありません。
Topic starter
2019年8月12日 02:36
コード部分がおかしいですね…
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 '';';
echo comment_date("Y/m/d", $comment);
echo '
echo '';';
comment_text( $comment->comment_id );
echo '
echo ''."\n";
echo "\t".'</dd>'."\n";
endforeach;
?>
</dl>
echo paginate_links([
"format" => "?page_number=%#%",
"total" => $total_pages,
"current" => $page,
"prev_text" => "",
"next_text" => "",
"type" => "plain"
]);
?>
<?php get_footer(); ?>
投稿した後に、アイコンのサイズだけ50から38に変えています。
Topic starter
2019年8月12日 02:40
div class="recent-comment-author"
以降がおかしくなるようです…
正直なところ、おかしくなっている箇所は基本的にechoでhtmlを書いているぐらいなので、あまり重要ではないとは思うのですが…
2019年8月12日 20:46
申し訳ないですが、サポート対象外のものにもあるように、独自カスタマイズによる不具合対応は、サポートの対象外とさせていただいています。
独自カスタマイズまでサポートの対象としてしまうと、とても個人対応では追いつかないので、プロの方もしくはクラウドソーシング等でにご依頼いただければと思います。
Topic starter
2019年8月13日 14:18
なるほど!ありがとうございます!
こういった相談をどこで行えば良いのかもわからなかったので、アドバイス助かりました!
わいひら reacted
2019年8月13日 19:45
ココナラとかだと、比較的安価から依頼できるかと思います。
https://coconala.com/search?keyword=WordPress+%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA
2019年8月13日 20:03
ほかは、サルワカにコメントできるのであればコメントすれば良いと思います。
質問された側はコンテンツに追加することも可能ですし、よりサイト内記事の強化にもつながる事も稀にあるので。
※コメントの返信をするタイプとしないタイプの人もいるので、何ともいえませんけどねっ❦
わいひら reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。