Plugin Directory

Changeset 3398906


Ignore:
Timestamp:
11/19/2025 11:38:28 AM (3 months ago)
Author:
wisernotify
Message:

Updating trunk to version 2.8

Location:
wiser-review/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • wiser-review/trunk/readme.txt

    r3390436 r3398906  
    1 === WiserReview for WooCommerce ===
     1=== WooCommerce Product Reviews by WiserReview ===
    22Contributors: wisernotify
    3 Tags: woocommerce, reviews, ecommerce, social proof, wiserreview
     3Tags: woocommerce, product reviews, review plugin, review reminder, customer reviews
    44Donate link: https://wiserreview.com/
    55Requires at least: 5.6
    66Tested up to: 6.8
    77Requires PHP: 7.4
    8 Stable tag: 2.7
     8Stable tag: 2.8
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    1414== Description ==
    1515
    16 **Wiser Review** makes it easy to collect authentic product reviews and testimonials using the WiserReview platform. Embed customizable review forms on your product pages, thank you pages, or customer dashboards – no coding needed.
    17 
    18 Perfect for ecommerce stores that want to boost trust, social proof, and SEO using customer reviews and UGC (user-generated content).
     16- **WiserReview** for WooCommerce lets you easily collect, manage, and display product reviews, engage customers with Q&A, improve SEO with rich snippets, and sync reviews to Google Shopping for more visibility.
    1917
    2018**🔑 Key Features**
    21 - Embed any WiserReview form using shortcode or block
    22 - Auto-fill customer info (name, email, product) in the form
    23 - Show forms on product pages, order thank you page, or My Account
    24 - Auto-tag reviews by product, order, or campaign
    25 - Supports image uploads, star ratings, consent checkboxes, and more
    26 - Seamlessly integrates with WiserReview widgets, automation, and incentives
    27 
    28 **WiserReview platform features include:**
    29 - Custom Forms Module
    30 - Incentives and Coupons for leaving a review
    31 - Moderation filters, tagging, auto-publish workflows
    32 - Carousel, Wall, Popup, and Floating Badge widgets
    33 - Social sharing to Instagram, WhatsApp, Klaviyo, and more
     19
     20- **Product Review Section**: Easily show product specific review feed with star summary, QnA & write review button.
     21- **Star Rating Count at PDP**: Display the rating count on the product detail page (PDP).
     22- **Product Review Rich Snippet**: Add JSON-LD schema markup for product reviews to improve search engine results with star ratings.
     23- **Carousel Widgets**: Showcase important reviews in a dynamic, rotating carousel to capture attention & build trust.
     24- **Review Nudges**: Show impactful reviews near the buy or add-to-cart button to encourage conversions.
     25- **Wall of Love Page**: Show customer testimonials in a dedicated page to build trust.
     26- **Product Card Count at PLP**: Show the rating count below the product title on collection or listing pages.
     27- **Customize Review Form**: Collect images, videos, review text, and personalized questions to gather detailed feedback.
     28- **Embed any WiserReview form**: Easily place multiple review forms anywhere.
     29- **Auto-fill customer info (name, email, product) in the form**: Simplify the review process with auto-filled details.
     30- **Auto-tag reviews by product, order, or campaign**: Automatically categorize reviews for better display.
     31- **Offer discounts in exchange for reviews**: Incentivize reviews by offering discounts to customers.
     32- **Integration with Google Shopping for product reviews display**: Display star ratings in Google Shopping search results.
     33- **Question and Answer feature**, allowing customers to ask and answer FAQs: Engage customers with interactive Q&A on product pages.
     34- **Import and export reviews**, including images and videos: Easily import/export reviews for better management.
     35- **Multi-language support** via WPML, Polylang, TranslatePress, and more: Reach global customers with full language support.
     36- **Moderation and approval workflows** for review submissions: Manage and moderate reviews to ensure quality content.
     37- **Customizable email templates** for review reminders and follow-ups: Personalize emails to better connect with your customers.
     38
     39
     40**📝Review Collection & Follow-Ups**
     41
     42- **Collect reviews via email & SMS**: Automatically send review requests after a set delay.
     43  - Choose review request timing for **domestic** and **international orders**.
     44  - Collect reviews for a specific number of products per order, based on product price or review history.
     45 
     46- **Follow-up and Reminder Emails**:
     47  - Set up **follow-up review reminders** after a specific period, with customizable email templates.
     48  - Include reminders for media (like video testimonials) with a minimum star rating condition.
     49 
     50- **Media Follow-up for Video Testimonials**:
     51  - Collect **video testimonials** by sending follow-up emails with templates for media requests.
     52  - Customize the follow-up after a set number of days with star rating requirements.
     53 
     54- **Review Collection Templates**:
     55  - Choose from multiple pre-configured email templates for review requests, reminders, and media collection.
     56 
     57- **Customizable Review Request Timing**:
     58  - Set delays for review request emails, reminder follow-ups, and media collection emails for better timing.
     59 
     60- **Easy Setup**:
     61  - **Pre-configured templates** for review reminders, product reviews, and media follow-ups. Just select and send!
     62
     63
     64== 🔎 Boost SEO with UGC ==
     65
     66Customer reviews are a valuable source of **user-generated SEO content**. By collecting detailed reviews, you can capture long-tail keywords that improve search visibility. Here’s how WiserReview boosts your store’s SEO:
     67
     68- **Unique content**: Customer reviews naturally include long-tail keywords that enhance rankings.
     69- **User-generated content (UGC)**: Collect photos and videos to enrich your site’s content.
     70- **Rich snippets**: Show star ratings and images in Google search results.
     71- **Enhanced product data**: Add GTIN, MPN, and Brand info to boost product discoverability.
     72- **Google Shopping integration**:
     73   - Generate XML feeds for products and reviews.
     74   - Display star ratings in Google Shopping search results.
     75
     76Each **WiserReview widget** (Carousel, Wall, Popup, etc.) renders review text directly on the page, allowing Google to crawl and index the content for better rankings.
     77
     78
     79== Seamless Review Sync Across Multiple Stores ==
     80
     81WiserReview simplifies review management across multiple stores with global brand consistency:
     82
     83- **Multi Store Sync Reviews**: Automatically display the same reviews across all stores based on SKU.
     84- **Localized Feedback**: Collect reviews in various countries and show them across all stores.
     85- **AI Review Translation**: Automatically translate reviews into multiple languages, ensuring accuracy.
     86- **Google Shopping Integration**: Sync reviews from all stores into your Google Shopping feed,.
     87
     88
     89== Social Media Integration – Boost Engagement ==
     90
     91WiserReview allows you to easily connect your Facebook and Instagram accounts to:
     92
     93- **Automate Review Sharing**: Share positive reviews across your social channels.
     94- **UGC Display**: Showcase Instagram feeds in a shoppable gallery on your store.
     95
     96This integration helps increase engagement and drive sales through social proof.
     97
    3498
    3599**Note:** Requires a WiserReview account to use. [Create a free account](https://app.wiserreview.com/signup).
     
    142206= 2.7=
    143207Fixed encoding and special character issues for Rich snippts, support added for international and domestic orders
     208
     209= 2.8=
     210QnA optimized
  • wiser-review/trunk/views/wiserw-plugin-settings.php

    r3379720 r3398906  
    336336
    337337<div class="post-type-shop_order wiserrw_main_page_container">
    338     <form action="#" method="post" name="wiserrw_orders_form" id="wiserrw_orders_form">
    339         <?php
    340             wp_nonce_field( 'wiserrw_plugin_orders_form', '_wiserrw_plugin_orders_form_key' );
    341         ?>
    342         <table class="form-table wc_gateways widefat">
    343             <thead>
    344                 <tr>
    345                     <th class="name">Collect Reviews from Past Customers</th>
    346                 </tr>
    347             </thead>
    348             <tbody>             
    349                 <tr>                   
    350                     <td>
    351                         <div class="wiserrw_type">
    352                             <button class="button button-primary wiserrw_by_duration">By Duration</button>
    353                             <button class="button button-primary wiserrw_by_range">By Date Range</button>
    354                         </div>
    355                         <div class="wiserrw_duration_type_range">   
    356                             <input type="date" name="wiserrw_from_date" id="wiserrw_from_date"/>
    357                             <input type="date" name="wiserrw_to_date" id="wiserrw_to_date"/>
    358                             <p class="wiserrw_count"></p>
    359                             <p class="submit">
    360                                 <input type="submit" id="wiserrw_fetch_count_range" id="submit" class="button button-primary" value="Fetch">
    361                             </p>
    362                         </div>
    363                         <div class="wiserrw_duration_type_duration">   
    364                             <select name="wiserrw_duration" id="wiserrw_duration">
    365                                 <option value="7_days">Last 7 Days</option>
    366                                 <option value="30_days">Last 30 Days</option>
    367                                 <option value="3_months">Last 3 Months</option>
    368                                 <option value="6_months">Last 6 Months</option>
    369                                 <option value="1_year">Last 1 Year</option>
    370                             </select>
    371                             <p class="wiserrw_count"></p>
    372                             <p class="submit">
    373                                 <input type="submit" id="wiserrw_fetch_count_duration" id="submit" class="button button-primary" value="Fetch">
    374                             </p>
    375                         </div>
    376                         <div class="wiserrw_submit_wrapper">
    377                             <div id="export-progress" style="margin-top: 10px; opacity: 0;">
    378                                 <progress id="progress-bar" value="0" max="100" style="width: 300px;"></progress>
    379                                 <span id="progress-text">0%</span>
    380                             </div>
    381                             <div class="buttons_wrapper">
    382                                 <p class="submit">
    383                                     <input type="submit" name="wiserrw_orders_settings" id="wiserrw_order_export" id="submit" class="button button-primary" value="Export Orders">
    384                                 </p>
    385                                 <input type="hidden" id="wiserrw_fetch_type" value="duration"/>
    386                                 <p class="submit">
    387                                     <input type="submit" name="wiserrw_orders_bulk_api" id="wiserrw_orders_bulk_api" id="submit" class="button button-primary" value="Bulk Send">
    388                                 </p>
    389                             </div>
    390                            
    391                         </div>
    392                     </td>
    393                 </tr>
    394             </tbody>
    395         </table>
    396     </form>
    397    
     338    <form action="#" method="post" name="wiserrw_orders_form" id="wiserrw_orders_form">
     339        <?php
     340            wp_nonce_field( 'wiserrw_plugin_orders_form', '_wiserrw_plugin_orders_form_key' );
     341        ?>
     342        <table class="form-table wc_gateways widefat">
     343            <thead>
     344                <tr>
     345                    <th class="name">Collect Reviews from Past Customers</th>
     346                </tr>
     347            </thead>
     348            <tbody>
     349                <!-- ✅ NEW: Add helper links row -->
     350                <tr>
     351                    <td colspan="2">
     352                        <div class="wiserrw_help_text" style="margin-bottom: 15px;">
     353                            <span class="dashicons dashicons-info"></span>
     354                            <p>
     355                                Send review request emails to customers who purchased in the past.
     356                                <a href="https://app.wiserreview.com/sequence#" target="_blank" rel="noopener noreferrer">
     357                                    <strong>Check Automation Campaign</strong>
     358                                </a> |
     359                                <a href="https://wiserreview.com/docs/collect-reviews/how-to-set-up-automated-review-requests-woocommerce/" target="_blank" rel="noopener noreferrer">
     360                                    <strong>Setup Guide</strong>
     361                                </a>
     362                            </p>
     363                        </div>
     364                    </td>
     365                </tr>
     366                <tr>                   
     367                    <td>
     368                        <div class="wiserrw_type">
     369                            <button class="button button-primary wiserrw_by_duration">By Duration</button>
     370                            <button class="button button-primary wiserrw_by_range">By Date Range</button>
     371                        </div>
     372                        <div class="wiserrw_duration_type_range">   
     373                            <input type="date" name="wiserrw_from_date" id="wiserrw_from_date"/>
     374                            <input type="date" name="wiserrw_to_date" id="wiserrw_to_date"/>
     375                            <p class="wiserrw_count"></p>
     376                            <p class="submit">
     377                                <input type="submit" id="wiserrw_fetch_count_range" class="button button-primary" value="Fetch">
     378                            </p>
     379                        </div>
     380                        <div class="wiserrw_duration_type_duration">   
     381                            <select name="wiserrw_duration" id="wiserrw_duration">
     382                                <option value="7_days">Last 7 Days</option>
     383                                <option value="30_days">Last 30 Days</option>
     384                                <option value="3_months">Last 3 Months</option>
     385                                <option value="6_months">Last 6 Months</option>
     386                                <option value="1_year">Last 1 Year</option>
     387                            </select>
     388                            <p class="wiserrw_count"></p>
     389                            <p class="submit">
     390                                <input type="submit" id="wiserrw_fetch_count_duration" class="button button-primary" value="Fetch">
     391                            </p>
     392                        </div>
     393                        <div class="wiserrw_submit_wrapper">
     394                            <div id="export-progress" style="margin-top: 10px; opacity: 0;">
     395                                <progress id="progress-bar" value="0" max="100" style="width: 300px;"></progress>
     396                                <span id="progress-text">0%</span>
     397                            </div>
     398                            <div class="buttons_wrapper">
     399                                <p class="submit">
     400                                    <input type="submit" name="wiserrw_orders_settings" id="wiserrw_order_export" class="button button-primary" value="Export Orders">
     401                                </p>
     402                                <input type="hidden" id="wiserrw_fetch_type" value="duration"/>
     403                                <p class="submit">
     404                                    <input type="submit" name="wiserrw_orders_bulk_api" id="wiserrw_orders_bulk_api" class="button button-primary" value="Bulk Send">
     405                                </p>
     406                            </div>
     407                        </div>
     408                    </td>
     409                </tr>
     410            </tbody>
     411        </table>
     412    </form>
    398413</div>
    399414
     
    411426            <thead>
    412427                <tr>
    413                     <th class="name">Sync products for grouping review</th>
     428                    <th class="name">Sync Products</th>
    414429                </tr>
    415430            </thead>
    416             <tbody>             
     431            <tbody>
     432                <!-- ✅ NEW: Add helper note row -->
     433                <tr>
     434                    <td colspan="2">
     435                        <div class="wiserrw_help_text" style="margin-bottom: 15px;">
     436                            <span class="dashicons dashicons-info"></span>
     437                            <p>
     438                                Product sync is required when you set up for the first time. It pulls product data and links them with existing or new reviews in WiserReview. <strong>Also, Required for grouping reviews with the product.</strong>
     439                            </p>
     440                        </div>
     441                    </td>
     442                </tr>
    417443                <tr>                   
    418444                    <td>
    419445                        <div class="wiserrw_type reset_sych">
    420446                            <button class="button button-primary wiserrw_synch_products">Sync Products</button>
    421                             <button class="button button-primary wiserrw_reset_products">Reset status</button>
     447                            <button class="button button-primary wiserrw_reset_products">Reset Status</button>
    422448                        </div>
    423449                   
  • wiser-review/trunk/wiser-review.php

    r3390436 r3398906  
    44 * Plugin URI: https://wiserreview.com
    55 * Description: Wiser Review module helps you collect and display product reviews, star ratings, and nudges. It also automates review requests via email to boost custom engagement and conversions.
    6  * Version: 2.7
     6 * Version: 2.8
    77 * Author: Wiser Notify
    88 * Requires Plugins: woocommerce
     
    2222define( 'WISERRW_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
    2323define( 'WISERRW_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
    24 define( 'WISERRW_PLUGIN_VERSION', 2.7);
     24define( 'WISERRW_PLUGIN_VERSION', 2.8);
    2525define( 'WISERRW_API_HOST', 'https://api.wiserreview.com/api/woocommerce/' );
    2626
     
    384384        }
    385385
    386         $inner_html = "<!-- Loaded from post meta (patched) -->" . $meta_html;
     386        $inner_html = $meta_html;
    387387    //} else {
    388388       
     
    528528    // --- Use post meta if available, fallback if not ---
    529529    $meta_html = get_post_meta( $product_id, 'wiserrw_product_html', true );
    530     if ( $meta_html ) {
     530    //if ( $meta_html ) {
    531531        // Patch opid for meta HTML
    532532        if ( preg_match( '/data-opid=/', $meta_html ) ) {
     
    545545        }
    546546
    547         $inner_html = "<!-- Loaded from post meta (patched) -->" . $meta_html;
    548     } else {
    549         $inner_html = "<!-- Loaded from API fallback -->" . $product_review_section;
    550     }
     547        $inner_html = $meta_html;
     548    //} else {
     549        //$inner_html = "<!-- Loaded from API fallback -->" . $product_review_section;
     550    //}
    551551
    552552    // Output the wrapper and inner HTML
Note: See TracChangeset for help on using the changeset viewer.