WordPress のコメント領域の書式設定。 WordPress のコメント領域の書式設定 管理パネルからの ping の表示の無効化
この記事を書く背景は典型的です。コメントを別のスタイルで強調表示することにしました...幸いなことに、私はここ数日間 style.php を細断してきており、CSS 構文の基本的なルールは理解しています。 そしてもちろん、この無邪気なアイデアは、ちょっとした当惑と解決策の模索に変わりました...最終的にはすべてうまくいきました。 ここで、私が自分のコメントを飾るために使用した魔法のパスをお話したいと思います。
以下で説明するすべての操作のポイントは、読者に対するコメントと応答を強調表示することです。 スタイルをやりすぎなければ、とてもエレガントになります。 もちろん、これは絶対に必要なわけではありません。 あなたのコメントを閲覧することを決めた人は誰でも、ニックネームを使用して閲覧することができます。 しかし、多くのブロガーにとって美という考えも重要です。
さらに、多くの大規模でよく考えられたサイト (スマッシングマガジンなど) で著者の回答がどのようにフォーマットされているかに注意を払うと、それらのサイトには別のスタイルが存在することがわかります。 これは明らかにユーザビリティの向上に役立ちます。
かなり深い入れ子になったツリー状のコメントが許可されているブログでは、作成者のコメントに別のスタイルを使用することが特に重要です。 簡単に言えば、ユーザーがコメントに返信したり、返信に返信したりできる場所です。
すでに使用されているコメント スタイルを見てみましょう
いわば、最後から始めようと私が提案しても驚かないでください。 ただし、WordPress テーマの編集に完全に慣れていないユーザーにとっては、これが最も視覚的で明白な方法です。
したがって、コメントのあるブログの投稿を選択します。 もちろん、ここにもあなたの答えが必要です。 そのようなページを開いたら、それを右クリックして「ページコードを表示」を選択します(Google ChromeおよびFirefoxブラウザには確かにそのようなオプションがあります)。
コードのシートを見て怖がらないでください。 実際、ここには複雑なことや秘密は何もありません。 ページを下にスクロールすると、最初に投稿に関する一般情報が表示され、次に書式付きのテキストが表示されることがわかります。 最後にコメントに関するコードを以下に示します。 Ctrl+F を入力して、表示されるウィンドウに入力するだけです。 コメントリスト Enter キーを押します。すぐに目的の行に「スロー」され、検索された単語が明るく強調表示されます。
次に、コメントスタイルがどのようにマークされるかを見てみましょう。 明確にするために、コードは私のテーマからのものです。 もちろん、実際のコードは見た目や構造が少し異なるかもしれませんが、コードの個々の部分の主な意味は明らかであるはずです。
コメントテキスト
- id="リ-コメント-">
$ Depth,"max_ Depth" => $args["max_ Depth"]))); ?>
- 、 なぜなら WordPress は、ネストされたコメントのマークアップに基づいて終了タグを自動的に作成します。
投稿すると、コメントが生成されるときにこの関数が呼び出され、必要な編集を行うことができます。 重要なのは、標準的でかなり限定された設定を使用して、必要なすべてを行ったことです。 wp_list_comments()
さて、古い方法に戻りましょう - wp_list_comments と一緒に foreach ループを入れます
この使用により、テンプレートは WordPress の古いバージョンと下位互換性を持つことができます。
コメント ループの設定方法がわかったので、ニーズに合わせてコメント ループを変更し、いくつかの素晴らしいトリックを適用してみましょう。
ページごとのコメントの実装
サイト上のコンテンツが何百ものコメントを集める可能性があることを事前に知る人は誰もいません。 私が言いたいのは、私たちは皆スーパースターであり、成功は予期せずやってくる可能性があるということです。 何百ものコメントが付いた投稿は、見たり巻き戻したりするのに非常に長いものになることがあります。 一般に、(水平スクロールとは異なり) 垂直スクロールを恐れることはありませんが、すべてのものに境界線が必要です。 60 件のコメントが含まれる通常の投稿の高さは最大 20,000 ピクセルになります。
物事を整理するための優れた方法は、コメント フィードをページ分割してページごとに表示することです。
ページネーションを有効にしたら、「前」と「後」のリンクを表示する関数を comments.php ファイルに追加することを忘れないでください。
これらのリンクは自動的に表示され、ページごとに指定されたコメント数を超えるとコメントのシートが分割されます。 コメント数がこの数より少ない場合、リンクは表示されません。
そして、ここには落とし穴が 1 つあります。 ページごとのコメントを含むコンテンツが重複するというよく知られた SEO の問題が発生します。 これは、各コメント ページに同じ URL が作成されるために発生します。
- https://yoursite.com/ghost-dad-rocked/
- https://yoursite.com/ghost-dad-rocked/comments-page-1/
- https://yoursite.com/ghost-dad-rocked/comments-page-2/
- https://yoursite.com/ghost-dad-rocked/comments-page-3/
これらのページのコメントのみが異なることは明らかです。 全体像をさらに悪化させるのは、各コメントに公開時点との独自のリンクがあり、重複も大量に追加されることです。 したがって、検索ボットは、膨大な数の異なるリンクの下で同じコンテンツを検索します。
重複を避けるには、いくつかの解決策があります。
- ページコメントを使用しないでください
- メタタグを使用して各投稿の正規 URL を作成する
- プラグインを使用する
あなたのサイトが非常に人気がある、またはそうなる予定である場合は、当然ながら正規 URL を使用する方が良いでしょう。 白熱した議論が予定されていない場合は、ページネーションのない従来のコメント シートを使用する方が簡単です。
ページ化されたコメントの SEO は、さらに根本的なアプローチを採用しています。コメント ページから投稿のコンテンツを削除し、投稿の引用または短縮版に置き換えます。
ネストされたコメントの実装
ネストされたツリー コメントを使用すると、訪問者は選択した既存のコメントに対する応答を書くことができ、充実したディスカッション ダイアログを作成できます。 設定でこの機能を有効にすると、各コメントの横に「返信」リンクが表示され、特定のコメントについて発言できるようになります。
この可能性が現れる前は、「@Vasya あなたは間違っています!」のように、選択した著者の名前とコメント テキストの @ 記号を使用して、選択した著者に応答するスタイルがありました。 多少の変化を経て、この方法はインターネット上の多くのアプリケーションに根付き、たとえば Twitter などで今も生きています。 そして、WordPress の最新バージョンでは、そのような言及を使用する必要はありません。
あとは、適切な「返信」リンクをクリックして発言するだけです。 コメントテキストが承認されると、そのコメントが書かれたコメントのすぐ下に表示されます。
テンプレートがこのタイプのコメントをサポートしていない場合は、次の簡単な方法でコメントを追加できます。
- 私たちはファイルのバックアップ コピーを作成します。これは理論的にはすでに習慣になっているはずです
- 設定でネストされたコメントを有効にする オプション→ディスカッション設定→ツリーコメントを許可
- header.php の wp_head() の直前に次のコードを追加します。
- comments.php の終了タグの直前に追加します。
- それを確認しましょう
- コメントフォームが で囲まれていることを確認します id="respond" 属性を使用
- コメントフォームの直前にコメントキャンセルリンクを追加
- comments.php で古いループを更新されたループに置き換えます。
まあ、それだけです :) 伝統的に、ニーズに合わせてカスタマイズしたり作り直したりするには、何兆もの異なる方法がありますが、そのアイデアは理解できたと思います。 ネストされたコメントのスタイルを忘れずに設定するだけです。
コメントリスト li.深さ-1() .コメントリスト li.深さ-2() .コメントリスト li.深さ-3()
コメント、ピンバック、トラックバックを分けています
投稿への応答を表示する場合、煩雑さを軽減する効果的な方法は、コメントと ping を別々に表示することです。 これにより、一連の議論が中断されないだけでなく、コメントにより多くの注目を集めることができます。
これは最も古いトリックの 1 つであり、実装する方法は数多くあります。ここでは、wp_list_comments() パラメーターを使用した単純な分割の例を示します。
コメント
ピンバック/トラックバック
ただし、このコードには欠点があります。コメントや ping がない場合でもヘッダーが表示されてしまいます。 わずかに改良されたバージョンを使用することをお勧めします。
コメント
トラックバック/ピンバック
ピンバックが表示されると、リンクの周囲にリンク先サイトから取得したテキストが表示されます。 このスニペットはさまざまなサイズになる可能性があり、制御するのが困難です。 そこに何が表示されるかは事前にはわかりません。 幸いなことに、このテキストの表示をクリーンアップして、整然としたリンクのリストだけを表示することができます。 これを行うには、functions.php に追加する必要があります。
Function cleanPings($comment, $args, $ Depth) ( $GLOBALS["comment"] = $comment; echo "
- 「.comment_author_link()」。
";}次に、必要なコールバック パラメーターをコメント関数呼び出しに追加します。
ピンバックとトラックバックの破棄
ユーザーがあなたのサイトにリンクするのを止めることはできませんが、トラックバックやピンバックを表示しないように選択することはできます。 当初、ピンバックは、インターネット上の他の多くのものと同様、誰かがあなたにリンクしたことを知らせるという良い目的のために発明されました。 そして今、使い続けたり、撤回したりする人もいます。 しかし、トラックバック テクノロジーは大量のスパムのせいで完全に信用を失っているため、無効にしたほうがよいでしょう。
管理パネルから ping の表示を無効にする
これを行うには、ディスカッション設定でオプションのチェックを外します。 他のブログからの通知を許可する。 これにより、ピンバックとトラックバックの機能が完全に無効になりますが、個別に選択したエントリについては、設定でこの機能を有効にすることができます。
コメントからの ping の除外
wp_list_comments() 関数のパラメータを使用して、コメントのみを表示できるようにします。
wp-trackback.phpを削除する
これは非常にシンプルで効果的な方法です - wp-trackback.php ファイルを物理的に削除する WordPress のルート ディレクトリから。 これは絶対に安全な方法ですが、WordPress のアップグレード後にファイルが復元されるため、再度削除する必要があります。
プラグインを使用して無効にする
これはプラグインを使用して実行できます
プラグイン自体は非常にシンプルで 1 つのファイルのみで構成されているため、その内容をコピーして function.php ファイルに貼り付けるだけで済みます。
Class DisableTrackbacks ( function DisableTrackbacks() (add_action("pings_open", array(&$this, "pings_open"));) function pings_open($open) (return ("1" == get_query_var("tb")) ? FALSE : $open;) ) add_action("plugins_loaded", create_function("", "global $DisableTrackbacks; $DisableTrackbacks = new DisableTrackbacks();"));
配置されると、DisableTrackbacks 関数はすべてのトラックバックを破棄します。 しかし、ピンバックは残ります。
コメントはデータベース内で直接管理されます
WordPress では、投稿をコメント可能にするかどうかを制御する方法がいくつか提供されています。 管理パネルでは、サイト全体で今後の投稿にコメントを残すことを完全に禁止できます。 また、エディターの 1 つのエントリで、ディスカッション ブロックでコメントを公開するかどうかを選択できます。
ただし、これらのメソッドのすぐ上には、指定した期間後にすべての古いコメントを非表示にし、モデレートのために送信できるプラグインがあります。 また、プラグインを使用せずに、データベースへの簡単なクエリでコメントを有効または無効にすることができます。
すべてのユーザーに ping をグローバルに許可する
UPDATE wp_posts SET ping_status = "オープン";
すべてのユーザーに対する ping をグローバルに禁止する
UPDATE wp_posts SET ping_status = "クローズ";
特定の発行日まで ping を世界的に禁止する
UPDATE wp_posts SET ping_status = "closed" WHERE post_date< "2009-09-09" AND post_status = "publish";
このようなリクエストにより、定期的な清掃が可能になります。 ここでは、グローバルな許可またはコメント禁止のリクエストの例を示します。
UPDATE wp_posts SET comment_status = "open"、ping_status = "open" WHERE comment_status = "closed" AND post_status = "publish";
実際には、あなたのニックネームのコメントを見つけるだけで十分です (たとえば、このブログでは、私は Katyaru というニックネームで書いたり返信したりしています)。 そして、次のように始まる必要な行のすぐ上にあります。
ありがとう、素晴らしいサイトをお持ちですね!