询问并编辑额外的备注字段

时间:2012-09-30 作者:alme1304

两周来,我一直试图在管理员编辑评论表单中添加一个编辑自定义元字段。我设法在表单中显示该字段,但它无法更新它。

我还想将此字段添加到注册表和配置文件中。

这就是我目前所拥有的

add_action( \'comment_post\', \'save_comment_meta_data\' );
function save_comment_meta_data( $comment_id ) {
    add_comment_meta( $comment_id, \'location\', $_POST[\'location\'] );
}

add_action( \'add_meta_boxes\', \'location_meta\' );
function location_meta() {
    add_meta_box( \'location_meta_id\', \'Location of the Comment Author\', \'location_meta_call\', \'comment\', \'normal\', \'high\' );
}

function location_meta_call(){
    $location = get_comment_meta(get_comment_ID(),\'location\', true);
    ?>
    <label for="location">Location:</label>
    <input type="text" name="location_meta_box_text"  value="<?php echo $location ?>" id="location_meta_box_text" />
    <?php
}

add_filter(\'comment_save_pre\',\'location_save\');
function location_save($comment_content){
    global $wpdb;

    $id = get_comment_ID();
    $text = $_POST[\'location_meta_box_text\'];
    $data = compact(\'text\');
    $rval= $wpdb ->update($wpdb->comments,$data,compact(\'id\'));

    update_comment_meta($id,\'location\',$text);

    return $comment_content;

}

2 个回复
最合适的回答,由SO网友:dipali 整理而成

get\\u comment\\u ID函数不起作用
所以在location\\u meta\\u call函数中使用以下代码

function location_meta_call(){
    $location = get_comment_meta($_GET["c"],\'location\', true);
}

add_filter(\'comment_save_pre\',\'location_save\');

function location_save($comment_content){
    global $wpdb;

    $id = $_POST[\'comment_ID\'];
    $text = $_POST[\'location_meta_box_text\'];

    update_comment_meta($id , \'location\', $text);
    return $comment_content;
}

SO网友:Michael Lewis

尝试以下操作:

function location_save($comment_content){
    $id = $_POST[\'comment_ID\'];
    $text = $_POST[\'location_meta_box_text\'];
    update_comment_meta($id,\'location\',$text);
    return $comment_content;
}
get\\u comment\\u ID函数不起作用。

我不确定$rval/compact代码是从哪里获得的(我在核心中看到了它),但compact需要是紧凑的(\'comment\\u ID\'),而$ID var需要是$comment\\u ID才能工作。(我想……)无论如何,我不会这样保存它!只需使用更新注释元函数。

结束

相关推荐

Why are my comments closed?

我有一个简单的site 有几页加上blog. 出于某种原因,博客帖子声明comments are closed 我不知道为什么。我想打开所有博客帖子上的评论(而不是在页面上提供评论)。在“编辑帖子”屏幕中,“评论”部分仅表示“还没有评论”但并没有提供任何打开它们的方法。在“设置”>“讨论”中,我有以下内容:评论时,作者必须填写姓名和电子邮件。评论时,用户必须注册并登录。评论时,关闭对超过(14)天的文章的评论。自动关闭评论。启用线程化(嵌套)评论级别(5)深度。将评论分成每页有(50)条顶级评论的页