• Resolved Pascal CESCATO

    (@pcescato)


    Hello,

    I found a fatal error in Link Whisper related to Elementor integration.

    Environment:

    • WordPress
    • Elementor
    • PHP 8.3
    • Link Whisper 0.9.4

    Fatal error:

    Fatal error: Uncaught Error: Call to undefined method
    Wpil_Editor_Elementor::appendProcessableValue()
    

    File:
    core/Wpil/Editor/Elementor.php
    around line 130.

    The issue occurs while saving Elementor content.

    Stack trace indicates:

    Elementor save
    -> Link Whisper content processing
    -> Wpil_Editor_Elementor::getProcessableData()
    -> self::appendProcessableValue()
    

    I checked the plugin source and:

    • Wpil_Editor_Elementor does not extend another class
    • there is no imported trait
    • appendProcessableValue() is not defined anywhere in the plugin
    • the method also does not exist in previous versions

    So the current code path calls a non-existent static method.

    This seems to be an incomplete refactor or a missing method in the release package.

    Could you confirm and provide a fix?

    Thanks.

Viewing 2 replies - 1 through 2 (of 2 total)
  • Hi,

    I had the same issue with Link Whisper Free 0.9.4 and Elementor.

    The fatal error happens because the plugin calls this method:

    Wpil_Editor_Elementor::appendProcessableValue()

    but this method is not declared in the plugin files.

    The error is in:

    wp-content/plugins/link-whisper/core/Wpil/Editor/Elementor.php

    In my case, the issue happened when saving an Elementor page. Link Whisper tried to process the Elementor content and crashed because the method was missing.

    Temporary fix:

    I added the missing method inside the Wpil_Editor_Elementor class in:

    core/Wpil/Editor/Elementor.php

    Code added:

    private static function appendProcessableValue(&$processable_data, ...$values)
    {
        if (!is_array($processable_data)) {
            $processable_data = array();
        }
    
        foreach ($values as $value) {
            if (is_array($value)) {
                foreach ($value as $sub_value) {
                    self::appendProcessableValue($processable_data, $sub_value);
                }
                continue;
            }
    
            if (is_object($value)) {
                $value = wp_json_encode($value);
            }
    
            if (is_scalar($value)) {
                $value = trim((string) $value);
    
                if ($value !== '') {
                    $processable_data[] = $value;
                }
            }
        }
    
        return $processable_data;
    }
    

    After adding this method, Elementor pages could be saved again.

    Please note: this is only a temporary patch because it modifies a plugin core file. It may be overwritten during a future Link Whisper update. The best solution would be an official fix from the plugin author.

    Plugin Author Matt_Bissett

    (@mattbissett)

    Hey guys,

    Thanks for bringing this up, I’ve got a fix for it up in the 0.9.5 update. 🙂

    Warm regards,
    Matt

Viewing 2 replies - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.