Custom comment type maybe?

时间:2011-04-08 作者:Ünsal Korkmaz

(首先,很抱歉英语不好)

如果有人在这里使用wordpress作为cms,你可能会意识到你不太需要评论系统。Es特别是定制的帖子类型,如产品,需要一个联系人表单系统来保存输入。

我在做梦,但无法编码:

更改自定义帖子类型的注释系统。让我来解释一个例子:假设我们有一个用于产品列表的自定义帖子类型。我们不需要/希望客户对此产品发表评论,但我们希望客户将他们对该产品的想法发送给我们。所以他们会使用这个“自定义评论类型”系统向我们发送评论,但该评论不会发布在网站和管理面板上,当我们回复评论时,wordpress会将该回复作为电子邮件发送。

因此,我们可以在wordpress评论表中存档的列表中看到有关该产品的所有新联系人表单输入,我们可以从管理面板中回复它们。当产品更新或有特殊折扣或其他情况时,我们会有一个客户列表,这些客户之前曾就此提出过问题,因此我们可以就新的更新再次联系他们。

在后台,由于性能原因,产品自定义帖子类型不需要加载注释,因此这将减少数据库查询。

你觉得怎么样?可能的

3 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

我也是(ab?)使用评论对帖子进行“私人”回复,如产品查询、建议、竞赛答案等。。。其优点是,它们存储在数据库中,并显示在界面中,无需我提供额外的代码(有时我会添加一个过滤器来改进格式)。垃圾邮件过滤和电子邮件通知是很容易的附加功能。

我认为可以在当前系统的基础上创建一个自定义注释类型的框架,从而作为一个插件,而不需要内部更改。也许,如果我有时间,我会尝试一下。。。

SO网友:kaiser

如果你对我在这里写的东西不确定:请使用英语/土耳其语词典

你觉得怎么样?可能的

当我们回复评论时,wordpress将以电子邮件的形式发送回复。

您必须为此使用某种注释通知。如果您发布了对“评论”的回复,这将发送一封电子邮件。

我们可以从管理面板回复他们

这不会太容易。更简单的方法是使用

if ( current_user_can(\'some_capability\') ) 
{
    comment_form(); // shows the comment form
}
在模板中,这将使评论表单仅对

登录并具有相应的功能,然后直接在您的公共页面上回复。其他一切都会更加复杂。

SO网友:Bainternet

您可以使用一个简单的表单获取客户对产品的评论,并通过邮件重播。

这是我很久以前用过的东西,我应该帮你做这项工作,它是一个简单的表单,只需稍加验证,只需更改:将您的邮件发送到您的邮件地址

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>

结束

相关推荐

是否有任何过滤器可以将额外的列添加到EDIT-Comments.php上的LIST表中?

我正在尝试修改edit-comments.php 管理页面,我没有看到任何可与之相比的过滤器manage_posts_columns 等有没有简单的方法可以做到这一点?我想做这件事的唯一真正方法是WP_Comments_List_Table 使用我自己的类,覆盖get_columns 和其他相关功能,只需将我自己的页面添加到“管理”菜单,该菜单以编辑注释的相同方式使用此新类。php使用WP_Comments_List_Table.有没有更简单的方法可以做到这一点,而我只是没有看到?