multiple comment text areas

时间:2013-02-08 作者:user1684099

我需要创建一个包含三个文本区域的用户评论表单,然后在评论中显示它们。我不知道从哪里开始-找不到任何插件,但无论如何都想对其进行编码。非常感谢任何指点。

2 个回复
SO网友:kaiser

要添加新字段,只需使用插件将其附加到默认字段。

<?php
defined( \'ABSPATH\' ) AND exit;
/* Plugin Name: (#85059) Append form fields to comment form */

add_filter( \'comment_form_default_fields\', \'wpse85059_comment_form_extd\', 100 );
function wpse85059_comment_form_extd( $fields )
{
    // Append new fields …
    if ( \'comment_form_default_fields\' === current_filter() )
    {
        foreach ( array( \'ctax_1\', \'ctax_2\', \'ctax_3\' ) as $ctax )
            $fields[] = "<input value=\'{$ctax}\' name=\'{$ctax}\' />";
        return $fields;
    }
}
然后还可以使用评论元数据。有关它的更多信息可以在法典中阅读。

要附加元数据,您可以挂接到操作中:

add_filter( \'comment_id_fields\', \'wpse85059_comment_meta_fields\', 10, 3 );
function wpse85059_comment_meta_fields( $result, $id, $replytoid )
{
    add_action ( \'comment_post\', \'wpse85059_comment_meta\', 1 );

    foreach ( array( \'ctax_1\', \'ctax_2\', \'ctax_3\' ) as $ctax )
        $result .= "<input value=\'{$ctax}\' name=\'{$ctax}\' />";

    return $result;
}
function wpse85059_comment_meta( $comment_id )
{
    // Only run once
    remove_filter( current_filter(), __FUNCTION__ );

    foreach ( array( \'ctax_1\', \'ctax_2\', \'ctax_3\' ) as $ctax )
        add_comment_meta(
             $comment_id
            ,$ctax
            ,$_POST[ $ctax ]
            ,true
        );
}
注意:这不是测试,但应该给你一个起点。

SO网友:jose pacheco

3个文本用于什么目的?或者你的意思是2个输入和1个texarea加1个输入按钮?我会在http://codex.wordpress.org/Function_Reference/comment_form

结束

相关推荐

如何使用从wp_Comments(SQL GROUP BY)返回的评论计数来更新wp_post

我正在做一个从某人的定制CMS到WP安装的特殊迁移。我成功地将帖子和评论迁移到各自的表中。现在,我需要将每个匹配id的评论计数放入wp\\u posts表中。我很接近,我想:SELECT COUNT(comment_content) AS total_comments, comment_post_ID AS commentID FROM wp_comments GROUP BY comment_post_ID; --mysql won\'t let me run the group