在注释中回显自定义字段

时间:2015-08-30 作者:730wavy

我正试图找出如何从我的主题模板中的插件中为注释表单回显4个创建的字段,并自定义注释输出。我使用的插件允许我在comment\\u表单中添加自定义字段,但我无法在注释中呼出其中一个字段。

我试图在下面的代码中回显的字段是“$ag\\U条件”。我还尝试在一些变体中使用以下代码,但没有找到任何可行的方法。

<?php
$args = array(
\'orderby\' => \'comment_date\',
    \'order\' => \'DESC\',
\'post_type\' => \'property\',
);
// return a single meta value with the key \'vote\' from a defined comment object
$ag_condition = get_comment_meta( $comment->comment_ID, \'agents_condition\', true );
$comments = get_comments($args);
foreach($comments as $comment) :
    echo(\'<p>\' . $comment->comment_author . \'</p><p>\' . $comment->comment_content . \'</p>\');
echo ($ag_condition);
endforeach;
?>
我试图从插件论坛寻求支持,这是我得到的唯一回应-

其中$meta[\'data\\u name\']是您在插件中设置的额外字段名。

echo $comment_meta_key = $meta[\'data_name\'];
                $comment_meta_val = get_comment_meta($comment -> comment_ID, $comment_meta_key, true);
我的完整代码--

<?php
$args = array(
\'orderby\' => \'comment_date\',
    \'order\' => \'DESC\',
\'post_type\' => \'property\',

);
// return a single meta value with the key \'vote\' from a defined comment object
$ag_condition = get_comment_meta( $comment->comment_ID, \'agents_condition\', true );
$comments = get_comments($args);
foreach($comments as $comment) :
    echo(\'<div id="\' . $comment->comment_ID . \'">Agent Name \' . $comment->comment_author . \'Phone\' . $comment->comment_phone . \'Reply\' . $comment->comment_content . \'</div>\');
echo ($ag_condition);
endforeach;

?><?php comment_form(); ?>
我不知道如何纠正它,任何帮助都将不胜感激。

使现代化

我尝试了这段代码,并尝试了另一段代码,我试图用它来回送用户配置文件(电话号码)中的自定义字段及其评论回复。

在注释列表中,我只调用函数。

>

 function format_comment() { 
>     echo \'<div class="comment">
>         <p>\'. \' $comment_author \'.\'</p>
>         <p>\'.\'get_comment_meta( $comment->comment_ID, "phone", true )\'.\'</p> </div>\' }

2 个回复
SO网友:shanebp

没有comment_ID 直到进入foreach循环。尝试:

$comments = get_comments($args);

foreach($comments as $comment) :
    echo \'<div id="\' . $comment->comment_ID . \'">Agent Name \' . $comment->comment_author . \'Phone\' . $comment->comment_phone . \'Reply\' . $comment->comment_content . \'</div>\';
    echo get_comment_meta( $comment->comment_ID, \'agents_condition\', true );
endforeach;

SO网友:CK MacLeod

您可以尝试:

function add_ag_condition($comment_text) {

    global $comment;

    $ag_condition = get_comment_meta( $comment->comment_ID, \'agents_condition\', true );

    return $comment_text . $ag_condition;

}

add_filter(\'comment_text\',\'add_ag_condition\');
上面会在注释文本后添加“ag条件”,这似乎是您最初想要的地方。当然,我无法测试它,因为我没有您的comment\\u元设置,也无法检查所有细节。编辑:(我确实想知道你是如何使用它的。)

您可以将其添加到不同的位置,例如,如果您希望它位于注释框的最末端,可以添加到“comment\\u reply\\u link”之后。(查看https://github.com/WordPress/WordPress/blob/master/wp-includes/comment-template.php 其他过滤器选项。)