WordPressに秘密コメントをタルジャII

1

数ヶ月前にbbPressのプラグインを使用して秘密コメントを付ける方法について説明したことがあります(ここ を参照)。 しかし、その方法は、そのプラグインが長い間更新していなくてテーマに沿ってはならない場合が多いでしょう。 だから、他の方法がないかと考えている途中 WordPress Comments Fieldsというプラグインを発見した。

アップデート:ここに記載されているプラ​​グインが1年以上更新されていないため、他の方法を探してみるといいようです。 参考までに https://wpquestions.com/Comment_privacy/10468で秘密コメントを付けるコードが提示されていますが、古くなって正常に動作する同じではありません。 WordPress 基本コメントシステムの代わりに ディスカスを利用することも検討してみるべきものです。

このプラグインは、 WordPress コメントのユーザーフィールドを追加することができる機能を提供します。 たまにうまくいかないテーマがあるが、大体的によくなるようです。 (3のテーマでテストしたところ、2つはされて一つは、よくないね。)そして、JetPackコメント機能は無効にする必要があります。

このプラグインを使用してユーザーフィールドを追加すると、次のようにユーザーのフィールドが追加されます。
Adding a private field in WordPress 注釈上の図では、非公開文を指定するためのフィールドを追加したが、他の情報(例えば、:地域情報)を受信したい場合は、入力フィールドを追加することができます。

上記のように追加して、テストにコメントを入力してみると:
Custom filed example in WordPress 注釈図のように追加されたフィールドの内容が下に表示されます。 (図ではボックスに表示された部分は、プラグインのソースを変更して、簡単に取り外しが可能であることです。)

今の問題は、非公開文指定のためには、データベースに追加された「カスタムフィールド」の値を取得することです。 データベースを遅れてみると次のように「commentmeta "テーブルに格納されていることを知ることができます。
Comment Meta Field in WordPressこのコメントメタテーブルの値を取得し、値が「公開」であれば、一般的に表示されるようにし、非公開文」であれば、管理者とのコメント投稿者のみを表示できるようにコードを作成します。 データベースの値を取得することに関連して、少し迷ったんです、知ってみると、非常に簡単です。 この作業には、 get comment meta関数を使用します。 この関数の使用法は次のとおりです:

<?php $meta_values = get_comment_meta( $comment_id, $key, $single ); ?>

そしてコメントのループに関連するファイルや関数を探して適切な条件付き書式を追加すると、必要な機能を実装することができます。 テーマの関数を探してみるとcomment書式を指定する関数があるでしょう。 その関数内の適切な位置に追加させています。 上の図のようにmeta_keyにsecretidを追加した場合は、次のような条件構造を使用して非公開文かどうかをチェックすることができます。

<?php
$comment_ID_this = $comment->comment_ID;
$comment_meta_value = get_comment_meta($comment_ID_this, 'secretid', true);
if($comment_meta_value == '비밀글') {
// 비밀글 지정 시 코드
}
else {
// 공개 시 코드
}
?>

非公開文指定コードを作成することは容易に可能と考えます。 (公開時のコードは、単に現在のコードを使用すると、取得するか?)以上で WordPressユーザー定義のコメントフィールドを追加して秘密文で指定する方法についてのアイデアを見てみました。

1のコメント

  1. ちなみに、この機能を実装したコードを次の記事で確認することができます。

    http://wpquestions.com/Comment_privacy/10468

    正常に動作しているかどうかは分かりません。 期間が少し過ぎのために正常に動作しない場合があります。

コメントを残す

コメントを入力してください!
名前を入力してください