Выбросить пользовательские поля в комментариях

Я пытаюсь понять, как эхо 4 созданных поля из плагина в моем шаблоне темы для формы комментария и также настроить вывод комментариев. Плагин, который я использую, позволяет добавлять пользовательские поля в comment_form, но я не могу повторить даже один из них в комментариях.

Поле, которое я пытаюсь повторить в приведенном ниже коде, это «$ ag_condition». Я также попытался использовать следующий код в нескольких вариантах и ​​не мог придумать ничего, что сработает.

<?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_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>' } 

Solutions Collecting From Web of "Выбросить пользовательские поля в комментариях"

Нет 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; 

Вы можете попробовать:

 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_meta и я не могу проверить все детали. EDIT: (Мне действительно нужно задаться вопросом, как вы его используете).

Вы можете добавить его в разных местах, например, после «comment_reply_link», если вы хотите его в самом конце поля комментариев. (Просмотрите https://github.com/WordPress/WordPress/blob/master/wp-includes/comment-template.php для других параметров фильтра.)