web-dev-qa-db-ja.com

カスタムコメントタイプ

(まず第一に、悪い英語をごめんね)

ここにcmsとしてwordpressを使用している人々がいるなら、あなたはおそらくコメントシステムをそれほど必要としていないことに気づくでしょう。特に商品などのカスタム投稿タイプには、今後の入力を節約する連絡フォームシステムが必要です。

私は夢を見ているが、コーディングを傾けることはできません。

カスタム投稿タイプのコメントシステムを変更します。例を挙げて説明しましょう。商品リストに使用するカスタム投稿タイプがあるとしましょう。私達はこのプロダクトについての顧客のコメントを必要としない/望まないが、私達は顧客が彼らがこのプロダクトについて考えているものを私達に送ってほしいのです。だから彼らはこの "カスタムコメントタイプ"システムを使って私たちにコメントを送るでしょうが、このコメントはウェブサイトや管理者パネルには掲載されず、コメントに返信するとWordpressはその返信をEメールとして送ります。

だから私たちはwordpressのコメントテーブルで達成されたように私達はリストのこのプロダクトについてのすべての新しい連絡先フォーム入力を見ることができますそして私たちは管理者パネルからそれらを返信することができます。製品が更新されたとき、または特別な値引きまたは何かがあったとき、我々は以前にそれについて質問した顧客のリストを持っているので、我々は新しい更新について彼らに再び連絡することができます。

バックグラウンドでは、パフォーマンスとして、商品のカスタム投稿タイプではコメントを読み込む必要がないため、データベースクエリが減少します。

あなたはそれについてどう思いますか?可能?

2
Ünsal Korkmaz

私は(ab?)、製品への問い合わせ、提案、コンテストへの回答など、投稿への「私的な」返信にもコメントを使用しています。時々私はフォーマットを改善するためにフィルタを追加します。スパムフィルタリングと電子メール通知は簡単な追加機能です。

現在のシステムの上にカスタムコメントタイプフレームワークを作成することは可能であると私は考えています。したがって内部的な変更なしのプラグインとして。たぶん、私は時間を見つけたならば、私はそれを試してみるでしょう...

2
Jan Fabry

あなたが私がここに書いたものについて自信がないなら:辞書英語/トルコ語を使ってください。

あなたはそれについてどう思いますか?可能?

はい。

コメントに返信すると、ワードプレスはその返信を電子メールとして送信します。

これには何らかのコメント通知を使用する必要があります。あなたが「コメント」への返信を投稿した場合、これはその後電子メールを送信します。

そして私達は管理者パネルからそれらを返事できます

これは簡単ではありません。もっと簡単にするのが好きでしょう

if ( current_user_can('some_capability') ) 
{
    comment_form(); // shows the comment form
}

あなたのテンプレートの中に、コメントフォームがある人にだけ見えるようになります。

  • ログインして
  • 適切な能力を持っている

そして、あなたの公開ページに直接返信してください。他のすべてはもっともっと複雑になるでしょう。

2
kaiser

単純なフォームを使用して、製品に関する顧客のコメントを入手し、メールで再生することができます。

これは私がずっと前に使っていたものです、そして私はあなたのために仕事をするべきです、それはマイナーなバリデーションを持った単純なフォームです、ただ変更してください:

if (isset ($_post['submit'] && $post_['my_action'] == 'product_comment'){
    if (wp_verify_nonce($_POST['product_comment'],'p_comment')){ 
    global $post;
        $error =  false;
        $em = array();
        if (!isset($_post['pc_name'])){
            $em[] = __('Name');
            $error = true;
        }
        if (!isset($_post['pc_email'])){
            if ($error){$em[] = __(', Email');
            }else{
                $error = true;
                $em[] = __(', Email');
            }

        }
        if (!isset($_post['pc_phone'])){
            if ($error){$em[] = __(', Phone');}
            else{
                $em[] = __('Phone');
                $error = true;
            }
        }
        if (!isset($_post['cp_feedback'])){
            if ($error){$em[] = __(', Your Feedback');
            }
            else{
                $em[] = __('Your Feedback');
                $error = true;
            }
        }
        if (!$error){
            $subject = 'New '. $post->post_title . ' Feedback';
            $M = "Name: $_post['pc_name'] \n
            Email: $_post['pc_email']\n
            Phone: $_post['pc_phone']\n
            Feedback: $_post['cp_feedback']";
            wp_mail('Your_mail',$subject, $M);

        }
    }else{
        $em[] = 'squrity error';
        $error = true;
    }
}
<h3><?php _e('Leave Your Feedback'); ?></h3>
<?php if($error){
            echo _e('please correct the following: <br/>');
            foreach ($em as $e){
                echo $e;
            }} ?>
<form id="product-comment" name="product-comment" action="" method="post">
<p><?php _e('Name'); ?></p>
<p><input type="text" name="pc_name" id="pc_name"></p>
<p><?php _e('Email'); ?></p>
<p><input type="text" name="pc_email" id="pc_email"></p>
<p><?php _e('phone'); ?></p>
<p><input type="text" name="pc_phone" id="pc_phone"></p>
<p><?php _e('Your Feedback'); ?></p>
<textarea tabindex="4" rows="13" cols="50%" id="cp_feedback" name="cp_feedback"></textarea>
<?php wp_nonce_field('update-p_comment','product_comment'); ?>
<input type="hidden" name="my_action" value="product_comment">
<input type="submit" name="submit" value="send">
</form>
0
Bainternet