• Hi,

    We’ve been using PVR Media Reviews for WooCommerce on our website and have already built a highly customized review experience using Elementor Custom Code, PHP Snippets, and theme-level customizations.

    Our existing setup is working well, and we’re not necessarily looking to replace it. However, I noticed that version 1.2.2 introduced a native PVR Reviews Elementor Widget, which caught my interest. I wanted to explore what the new widget could offer.

    After updating Elementor, Elementor Pro, and PVR Media Reviews to their latest versions, I couldn’t find the PVR Reviews Widget in either the Elementor Elements panel or Elementor’s Element Manager.

    As with the previous video upload issue, I decided to investigate first before reporting it. Hopefully, the diagnostic information below will help make troubleshooting easier.Environment

    • PVR Media Reviews: 1.2.3
    • Elementor: 4.3.5
    • Elementor Pro: Updated to the latest version
    • WordPress with WooCommerce
    • Hosting: Hostinger

    Investigation

    I inspected the PVR 1.2.3 plugin source and confirmed that it includes both the Elementor integration class and the Reviews Widget class.

    I then ran a temporary, read-only PHP diagnostic to check Elementor’s initialization state, registered hooks, and widget registry.

    Diagnostic results:

    PVR version: 1.2.3
    Elementor version: 4.3.5
    Elementor loaded: YES
    Elementor loaded action fired: 1
    Widget_Base available now: YES
    PVR integration class: YES
    PVR widget class: NO
    PVR bootstrap attached to elementor/loaded: YES
    Registration hook attached: NO
    Registration hook fired: 1
    Widget registered in Elementor: NO
    Diagnostic error: None

    I’ve attached a screenshot of these results for reference.Possible Cause

    In includes/class-pvr-elementor.php, the integration initializes through:

    public static function init() {
        if ( class_exists( '\Elementor\Widget_Base' ) ) {
            self::bootstrap();
            return;
        }
    
        add_action( 'elementor/loaded', [ __CLASS__, 'bootstrap' ] );
    }

    The bootstrap() method also returns early if Elementor\Widget_Base is unavailable.

    This suggests a possible initialization timing issue.

    For example, if elementor/loaded has already fired before the callback is attached, or if Widget_Base is unavailable when bootstrap() runs, the widget registration hooks may never be added.

    The diagnostics confirm that the PVR registration callback is missing and the widget is not registered, although they don’t establish exactly when or why the bootstrap process was skipped.Expected Behaviour

    The PVR Reviews Widget should appear in Elementor’s Elements panel and Element Manager, allowing it to be added to a page as described in the 1.2.2 changelog.

    Could you please check whether the Elementor integration needs an adjustment to its initialization or widget registration lifecycle?

    I’m happy to provide further diagnostic information if needed.

    Thank you again for your continued development and support of the plugin!

Viewing 1 replies (of 1 total)
  • Plugin Author lebedgor

    (@lebedgor)

    Hi,

    Thanks for the excellent diagnostics — they confirmed the cause exactly.

    You’re right about the lifecycle: Elementor 4 fires elementor/loaded before Elementor\Widget_Base is autoloadable, so our subscription was attached too late and the registration hooks were never added. That’s why your trace shows the callback attached but the registration hook missing, and the widget class isn’t loaded until registration runs (it’s required lazily).

    I’ve rewritten the integration to use the direct elementor/widgets/register hooks (plus the legacy pre-3.5 hook) with the widget file required inside the registration callback, guarded so it can never fatal without Elementor.

    This shipped in 1.2.4 — please update the plugin and the widget should appear in the Elements panel.

    Thanks again for such a thorough report – it made the fix quick.

Viewing 1 replies (of 1 total)

You must be logged in to reply to this topic.