Поддержка Плагины Создание новых полей комментариев

  • Доброго времени суток всем!

    Проблема не нова, но справиться сам не смог, т.к. запутался в названиях классов, вероятно в моей тебе они по другому названы:

    Делаю отзывы о компании. Дорабатываю форму комментариев на WordPress 4.9.8.

    Добавил новые поля:
    — Организация/ФИО/Должность;
    — Дата приобретения;
    — Описание ранее купленного товара.

    Вновь-созданные поля прекрасно и красиво выводятся, доступны к заполнению — с этой частью я справился, см.:
    https://ukrtehnoservis.com/o-nas/otzyvy-i-kommentarii-o-kompanii/

    Но, после заполнения и отправки, новые поля не выводятся в виде полноценного комментария (см. тщетные попытки по ссылке выше).

    Я нашел информацию о том, что новые поля как-бы не заносятся в базу, но толком пояснений не было.
    Вычитал, что вывод новых мета-полей производится в 2 этапа:
    получение значений методом: get_comment_meta() с последующим выводом через фильтр comment_text.

    Но, беда в том, что не нахожу в файле (тема dt-the7) comments.hph ничего подобного. Там есть только:

    
    $commenter = wp_get_current_commenter();
    $req = get_option( 'require_name_email' );
    $aria_req = ( $req ? " aria-required='true'" : '' );
    $required_text = sprintf( ............
    

    и вывод в конце страницы: <?php comment_form( $comment_form_args ) ?>

    Код, который я дописал в дочернюю тему dt-the7-child:

    
    add_filter( 'comment_form_default_fields', 'comment_form_changed_field' );
    function comment_form_changed_field( $fields ) {
    $fields['purchased_machines']	= '<p class="comment-form-comment"><label class="assistive-text" for="purchased_machines">' . __( 'purchased_machines', 'the7mk2' ) . 
    '</label><textarea id="purchased_machines" placeholder="*Что было приобретено у УкрТехноСервис: &nbsp; (Спираль/шнек/силос/др.- укажите характеристики)" 
    name="purchased_machines" cols="45" rows="3" aria-required="true"></textarea></p>';
    $fields['purchase_date'] = '<p class="comment-form-comment">' .
    '<label class="assistive-text" for="purchase_date">' . __( 'purchase_date', 'the7mk2' ) . '</label>' .
    '<input id="purchase_date" name="purchase_date" type="text" placeholder="* Дата покупки оборудования / (Отслуживший срок)" size="40"/></p>';
    return $fields;
    }
    
    add_action( 'comment_post', 'save_extend_comment_meta_data' );
    function save_extend_comment_meta_data( $comment_id ) {
    if ( ! empty( $_POST['purchased_machines'] ) ) {
    $purchased_machines = sanitize_text_field( $_POST['purchased_machines'] );
    add_comment_meta( $comment_id, 'purchased_machines', $purchased_machines );
    }
    if ( ! empty( $_POST['purchase_date'] ) ) {
    $purchase_date = sanitize_text_field( $_POST['purchase_date'] );
    add_comment_meta( $comment_id, 'purchase_date', $purchase_date );
    }
    
    }
    
    • Тема изменена 5 лет, 5 месяцев назад пользователем Yui. Причина: для оформления кода есть кнопочка code

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

  • Тема «Создание новых полей комментариев» закрыта для новых ответов.