Да, это можно сделать, но придется поработать с кодом.
Сначала надо зарегистрировать новый тип рейтинга, который будем назначать публикации при оставлении отзыва
add_action( 'rcl_reviews_init', 'rcl_init_post_review_rating_type', 10 ); function rcl_init_post_review_rating_type() { rcl_init_reviews_type( array( 'rating_type' => 'post-review', 'type_name' => __( 'Отзывы к публикации'), 'style' => true, 'add_form' => true, 'init_tab' => true ) ); }
Затем убрать стандартную форму комментирования в шаблоне используемой темы.
Вместо нее вывести форму отзыва и указать для нее обязательные параметры:
echo rcl_get_review_form( array( 'object_id' => $post_id, //идентификатор объекта за который голосуем 'rating_type' => 'post-review', //тип рейтинга 'object_author' => $post_author, //идентификатор автора объекта 'user_id' => $author_review //идентификатор автора отзыва ) );
и затем останется только вывести оставленные отзывы где то, например там же, под публикацией
echo rcl_get_reviews_list( array( 'object_id' => $post_id, //идентификатор объекта за который голосуем 'rating_type' => 'post-review', //тип рейтинга ) );
по идее все должно работать, но надо проверять и пошагово выявлять ошибки, если они будут.
И подобным образом можно добавлять отзывы к любым объектам и сущностям.
вот вариант рабочего кода, который был размещен в файле comments.php используемой темы на замену форме комментирования
global $post,$user_ID; //выводим все отзывы к объекту echo rcl_get_reviews_list( array( 'object_id' => $post->ID, 'rating_type' => 'post-review', ) ); //получаем отзыв к объекту от текущего пользователя $userRvwId = rcl_get_review_by_args( array( 'object_id' => $post->ID, 'rating_type' => 'post-review', 'user_id' => $user_ID, 'fields' => array( 'review_id' ) ) ); if(!$userRvwId){ //выводим форму отзыва echo rcl_get_review_form( array( 'object_id' => $post->ID, 'rating_type' => 'post-review', 'object_author' => $post->post_author, 'user_id' => $user_ID ) ); }
А можно чуть подробнее, для около нулевого уровня так сказать?)
Я понимаю что заменить надо вот это
rating_type' => 'post-review
но не понимаю на что.
И еще вопрос. А как добавить возможность загрузки картинок в эти отзывы?
Обычная запись
Если написать вот так, то при оставлении отзыва пишет - Не был указан рейтинг!
//выводим все отзывы к объекту echo rcl_get_reviews_list( array( 'object_id' => $post->ID, 'rating_type' => 'rating_post', ) ); //получаем отзыв к объекту от текущего пользователя $userRvwId = rcl_get_review_by_args( array( 'object_id' => $post->ID, 'rating_type' => 'rating_post', 'user_id' => $user_ID, 'fields' => array( 'review_id' ) ) ); if(!$userRvwId){ //выводим форму отзыва echo rcl_get_review_form( array( 'object_id' => $post->ID, 'rating_type' => 'rating_post', 'object_author' => $post->post_author, 'user_id' => $user_ID ) ); }
Если написать 'rating_type' => 'post', все работает. Спасибо.
Я выше уже спрашивал, но видимо пропустили.
И еще вопрос. А как добавить возможность загрузки картинок в эти отзывы?
Я так понимаю возможно сделать тоже самое И для публикации товаров
Если я правильно понял нужно изменить Вот это поле
'rating_type' => 'postЕсли я правильно понял нужно изменить Вот это поле
На
'rating_type' => 'products'
Или если возможно Подскажите как изменить пример вашего кода чтобы сделать вместо комментариев отзывы только к опубликованным товаром