Как добавить новые поля из комментариев Wordpress, только с определенной страницы категории?

132
17 апреля 2021, 21:30

Есть форма добавления комментариев для обределенного шаблона записи (my_post.php), отличная от основной формы для всего сайта. Есть код который не дает добавить комментарий, если не заполнены дополнительные поля. Есть код который я добавляю, для проверки заполненности поля, и если оно не заполнено говорю вернуться назад вот сам код:

    //ОБЯЗАТЕЛЬНОСТЬ РЕЙТИНГА
add_filter( 'preprocess_comment', 'comm_rating_require_rating' );
function comm_rating_require_rating( $commentdata ) {
    if ( ! isset( $_POST['rating'] ) || 0 === intval( $_POST['rating'] ) )
    wp_die('Ошибка: Вы не добавили оценку. Нажмите кнопку «Назад» в своем веб-браузере и повторно отправьте свой комментарий с оценкой.');
    return $commentdata;
    if ( ! isset( $_POST['rating_1'] ) || 0 === intval( $_POST['rating_1'] ) )
    wp_die('Ошибка: Вы не добавили оценку. Нажмите кнопку «Назад» в своем веб-браузере и повторно отправьте свой комментарий с оценкой.');
    return $commentdata;
    if ( ! isset( $_POST['rating_2'] ) || 0 === intval( $_POST['rating_2'] ) )
    wp_die('Ошибка: Вы не добавили оценку. Нажмите кнопку «Назад» в своем веб-браузере и повторно отправьте свой комментарий с оценкой.');
    return $commentdata;
    if ( ! isset( $_POST['rating_3'] ) || 0 === intval( $_POST['rating_3'] ) )
    wp_die('Ошибка: Вы не добавили оценку. Нажмите кнопку «Назад» в своем веб-браузере и повторно отправьте свой комментарий с оценкой.');
    return $commentdata;
}

Но мне нужна проверка только тогда когда комментарии добавляется из записи с выбраным шаблоном my_post.php, я думал сделать для этого условие

if ( is_page_template('my_post.php')) {// тут необходимый код на проверку}

Данный код я вставляю в файл function.php, но если добавляю условие то он не работает совсем, а если убираю то он работает глобально для всех форм комментирования.

Подскажите пожалуйста что я делаю не так?

Answer 1

Попробуйте так:

function comm_rating_require_rating( $commentdata ) {
 $template = get_page_template_slug( $commentdata['comment_post_ID'] );
 if('my_post.php' === $template) {
        // код
 }
}

хотя is_page_template должен работать

READ ALSO
Custom permalinks

Custom permalinks

суть проблемы такова , есть страница wwwsite/kursi и так же есть родители с дочерними страницами пример www

101
Удаление дублей в массиве

Удаление дублей в массиве

есть первый массив:

86