Advertisement
geminilabs

[site-reviews] set the name/email values from an URL parameter

Oct 18th, 2023 (edited)
1,728
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.82 KB | None | 0 0
  1. /**
  2.  * Set the rating, name, and email values from URL parameters
  3.  * https://website.com?review_rating=5&review_name=Jane&[email protected]
  4.  *
  5.  * @param \GeminiLabs\SiteReviews\Contracts\FormContract $form
  6.  */
  7. add_action('site-reviews/review-form/form', function ($form) {
  8.     $parameters = array_filter([
  9.         'rating' => filter_input(INPUT_GET, 'review_rating', FILTER_VALIDATE_INT, [
  10.             'options' => [
  11.                 'min_range' => 0,
  12.                 'max_range' => 5,
  13.             ],
  14.         ]),
  15.         'email' => filter_input(INPUT_GET, 'review_email', FILTER_VALIDATE_EMAIL),
  16.         'name' => filter_input(INPUT_GET, 'review_name'),
  17.     ]);
  18.     if (empty($parameters)) {
  19.         return;
  20.     }
  21.     foreach ($form as $field) {
  22.         if (array_key_exists($field->original_name, $parameters)) {
  23.             $field->value = $parameters[$field->original_name];
  24.         }
  25.     }
  26. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement