[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fy2uIPXrSZbiw7cw8BadWs3GOlLHQv2UZng-u19_Rqqw":3},{"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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":48,"crawl_stats":38,"alternatives":56,"analysis":152,"fingerprints":287},"reusable-blocks-extended","Reusable Blocks Extended","0.9.1","Jb Audras","https:\u002F\u002Fprofiles.wordpress.org\u002Faudrasjb\u002F","\u003Cp>Extend Gutenberg Reusable Blocks feature with a complete admin panel, widgets, shortcodes and PHP functions.\u003C\u002Fp>\n\u003Cp>This plugin extends the Reusable Blocks admin interface and provides few fancy features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add Reusable Blocks dashboard informations\u003C\u002Fli>\n\u003Cli>Activate Reusable Blocks admin screen\u003C\u002Fli>\n\u003Cli>Provide a list of Posts where each Reusable Block is used and the date it was last modified\u003C\u002Fli>\n\u003Cli>Provide a \u003Cstrong>live preview of your reusable blocks\u003C\u002Fstrong> from the Reusable Blocks admin screen, with your theme stylesheets\u003C\u002Fli>\n\u003Cli>Provide a Reusable Blocks Widget to use your block anywhere you want in your theme’s widgets areas\u003C\u002Fli>\n\u003Cli>Provide a Reusable Blocks Shortcode to use your block anywhere you want in your Post types (even if they use the Classic Editor rather than Gutenberg!)\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Provide some Reusable Blocks PHP functions to use your block anywhere you want in your theme even\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>NEW: An easy tool to convert reusable blocks to block patterns in one click!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For a full presentation of Reusable Blocks Extended, see this \u003Ca href=\"https:\u002F\u002Fjeanbaptisteaudras.com\u002Fen\u002F2019\u002F12\u002Fgutenberg-reusable-blocks-wordcamp-marseille-talk-synthesis\u002F\" rel=\"nofollow ugc\">WordCamp Talk synthesis available on my blog\u003C\u002Fa>.\u003C\u002Fp>\n","Extend Gutenberg Reusable Blocks feature with a complete admin panel, widgets, shortcodes and PHP functions.",20000,108075,96,39,"2025-11-27T08:57:00.000Z","6.9.4","5.0","7.0",[20,21,22,23,24],"blocks","pattern","reusable","shortcode","widget","https:\u002F\u002Fjeanbaptisteaudras.com\u002Fen\u002F2019\u002F09\u002Freusable-block-extended-a-cool-wordpress-plugin-to-extend-gutenberg-reusable-block-feature\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freusable-blocks-extended.0.9.1.zip",100,1,0,"2023-03-13 00:00:00","2026-03-15T15:16:48.613Z",[33],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":6,"severity":40,"cvss_score":41,"cvss_vector":42,"vuln_type":43,"published_date":30,"updated_date":44,"references":45,"days_to_patch":47},"CVE-2023-27611","reusable-blocks-extended-cross-site-request-forgery-via-reblexreusablescreenblockpatternregistration","Reusable Blocks Extended \u003C= 0.9 - Cross-Site Request Forgery via reblex_reusable_screen_block_pattern_registration","The Reusable Blocks Extended plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 0.9. This is due to missing or incorrect nonce validation on the 'reblex_reusable_screen_block_pattern_registration' function. This makes it possible for unauthenticated attackers to delete block patterns via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.",null,"\u003C=0.9","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:N\u002FI:N\u002FA:L","Cross-Site Request Forgery (CSRF)","2024-01-22 19:56:02",[46],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F67c2cac8-c3cf-46d1-a592-229081bc31e1?source=api-prod",316,{"slug":49,"display_name":7,"profile_url":8,"plugin_count":50,"total_installs":51,"avg_security_score":52,"avg_patch_time_days":53,"trust_score":54,"computed_at":55},"audrasjb",24,63620,98,661,78,"2026-04-03T18:43:58.912Z",[57,79,100,117,133],{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":13,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":71,"tags":72,"homepage":76,"download_link":77,"security_score":78,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"reusable-content-blocks","Reusable Content Blocks","1.1.3","Safeer","https:\u002F\u002Fprofiles.wordpress.org\u002Fsafeerz\u002F","\u003Cp>Reusable Content Blocks plugin allows you to insert contents (pages, posts, custom post types) created with WPBakery Page Builder into other contents, Widget areas and Templates using Shortcode, Widget or PHP without missing custom\u002Finline styles generated by page builders.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Works with WPBakery’s Page Builder.\u003C\u002Fli>\n\u003Cli>Works with WP Bakery elements from the The7 theme\u003C\u002Fli>\n\u003Cli>Dedicated Element for WP Bakery page builder.\u003C\u002Fli>\n\u003Cli>Extendable support for Elements from other Themes and addons.\u003C\u002Fli>\n\u003Cli>Allows to use Shortcodes, Widgets and PHP fucntion to place content blocks into other contents, Widgetised areas or Templates.\u003C\u002Fli>\n\u003Cli>Provides ready to use Shortcodes and functions for Reusable block post types.\u003C\u002Fli>\n\u003Cli>Lighweight. \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Create Reusable blocks and insert it on multiple places, manage it from a single place.\u003C\u002Fli>\n\u003Cli>Design custom footer layouts using page builders, and insert it using Widget\u003C\u002Fli>\n\u003Cli>Design a topbar like block using page builder, place it in templates using PHP or hooks.\u003C\u002Fli>\n\u003Cli>Insert contents of page, post or custom post types in other contents using shortcode.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation & Help\u003C\u002Fh4>\n\u003Cp>Basic instructions are provided within your WordPress site’s admin area, Dashboard > Reusable Blocks > Options page. Detailed documentation with screenshots for guidance, is available on the \u003Ca href=\"http:\u002F\u002Fwww.thecodepoetry.com\u002Fplugins\u002Fwordpress-reusable-content-blocks\" rel=\"nofollow ugc\">Plugins page\u003C\u002Fa>\u003C\u002Fp>\n","Reusable Content Blocks plugin allows you to insert contents (pages, posts, custom post types) created with WPBakery Page Builder into other contents, &hellip;",4000,27129,12,"2023-01-30T16:53:00.000Z","6.1.10","4.9.7","5.6",[58,73,74,75],"reusable-content-widget","thecodepoetry","wpbakery-global-widget","http:\u002F\u002Fthecodepoetry.com\u002Fplugins\u002Fwordpress-reusable-pagebulider-contnet-blocks\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freusable-content-blocks.zip",85,{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":87,"downloaded":88,"rating":27,"num_ratings":28,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":71,"tags":92,"homepage":98,"download_link":99,"security_score":78,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"dev-content-blocks","Dev Content Blocks","1.4.1","Allon Sacks","https:\u002F\u002Fprofiles.wordpress.org\u002Fallonsacksgmailcom\u002F","\u003Cp>Not only for developers.\u003Cbr \u002F>\nCreate content blocks for reusable global content. Supports revisions. With input fields for raw HTML, JS, and CSS without worrying about auto formatting, with an option to also use the usual formatted WordPress tinyMCE editor.\u003C\u002Fp>\n\u003Cp>This plugin let’s you create modular content blocks the right way:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Content blocks are a post type.\u003C\u002Fli>\n\u003Cli>Allows you to add HTML, CSS, and JS in separate blocks using ACE editor with code completion and error notifications.\u003C\u002Fli>\n\u003Cli>WordPress WYSIWYG editor optional.\u003C\u002Fli>\n\u003Cli>Revisions(!) You can change your WordPress content, HTML, CSS, and JS and then go back to a previous state the same as you can with the out of the box wordpress post revisions.\u003C\u002Fli>\n\u003Cli>Use a shortcode to add the blocks in posts, pages, CPT’s, widgets, and in your theme files.\u003C\u002Fli>\n\u003Cli>Preview your content.\u003C\u002Fli>\n\u003Cli>Easily import & export using the default WordPress XML import\u002Fexport tool.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Using content blocks you can create blocks of content to display globally. Change the block and any page the content block is embedded on will reflect the changes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Use Cases:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>The WordPress WYSIWYG editor and even the text editor is often unpredictable not adding line breaks when wanted, or losing formatting after editing a post:\u003C\u002Fstrong>\u003Cbr \u002F>\nJust create a content block calling it “br” using only the HTML box and put \u003Cbr> in the box. The shortcode “[dcb name=br]” can then be used whenever you want to make sure that you have a line break.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>You may have multiple “thank you” pages for different LP’s. When you start new campaigns or want to add new conversion code (or delete an old conversion code), you need to go to each ty page and add\u002Fdelete the conversion code:\u003C\u002Fstrong>\u003Cbr \u002F>\nWith modular content you can maintain all your conversion codes in one block and then just put the same shortcode in all ty pages. Also, with the regular WordPress editor you cannot always safely embed conversion code in the post itself and rely on using a separate template. This plugin solves all these issues.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Ads:\u003C\u002Fstrong>\u003Cbr \u002F>\nUse the content blocks to manage your ads in one place. Create a content block per ad, then use a shortcode in your post content\u002Ftheme files\u002Fwidgets where you want to display each ad.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>There are many more use cases, these were just a few examples. Really you can use content blocks for so many cases and the power it gives you to manage and maintain modular content is necessary on almost any kind of website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Content Blocks are an easy way for you to create your own shortcodes within the admin and can be used as a minimal shortcode builder.\u003C\u002Fp>\n\u003Cp>Dev Content Blocks is created with developers in mind, so while it is simple enough for any WordPress user to use, developers will have added benefit of being able to use raw HTML without it being formatted by wptexturize and wpautop. Think arbitrary HTML in the old text widget (new “Custom HTML” widget). Here paragraphs are NOT added automatically.\u003Cbr \u002F>\nAlso, as CSS and JS can easily be added here without fear of it losing it’s formatting, this plugin let’s you create and manage your own shortcodes. You can easily create shortcodes (the type that do not accept arguments) and manage them in one place in the admin instead of creating them in the theme or as a separate plugin per shortcode.\u003C\u002Fp>\n\u003Cp>You can actually add CSS and JS in the HTML box but, for convenience this plugin has separate optional CSS and JS boxes to allow you to separate your content and code.\u003Cbr \u002F>\nThe output of the shortcode is:\u003Cbr \u002F>\n1. Content from the WordPress editor if it is enabled. (Note, here wptexturize and wpautop are used).\u003Cbr \u002F>\n2. Content from the HTML box.\u003Cbr \u002F>\n3. The CSS code wrapped in a style tag.\u003Cbr \u002F>\n4. The JS code wrapped in a script tag.\u003Cbr \u002F>\n(“if(typeof(jQuery) !== ‘undefined’) {$ = jQuery.noConflict();}” is prepended to the script.)\u003C\u002Fp>\n\u003Cp>Please Note. Dev Content Blocks lets you use raw HTML, JS, and CSS therefore be careful if copying and pasting from random web pages as in order to allow you maximum control with the content blocks, you will be able to paste JS that is not entirely validated.\u003C\u002Fp>\n\u003Ch3>Future Versions\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Enable\u002Fdisable each box in the “Content Block Code” section.\u003C\u002Fli>\n\u003Cli>More Page builder support\u003C\u002Fli>\n\u003Cli>Variables to be passed in the shortcode\u003C\u002Fli>\n\u003Cli>Option to enqueue other CSS & JS files when a block is used\u003C\u002Fli>\n\u003Cli>Preview in a light box on the admin screen\u003C\u002Fli>\n\u003Cli>Options for incorporating and using the featured image\u003C\u002Fli>\n\u003Cli>Add an option to change the order of the HTML box vs. the WP editor\u003C\u002Fli>\n\u003Cli>Add an option to turn off formatting in the WP editor\u003C\u002Fli>\n\u003Cli>Add an option to enqueue the CSS and JS instead of outputting it in the HTML\u003C\u002Fli>\n\u003Cli>Widget\u003C\u002Fli>\n\u003Cli>Button in tinyMCE to add shortcodes\u003C\u002Fli>\n\u003Cli>Show shortcodes in main Dev Content Blocks screen\u003C\u002Fli>\n\u003Cli>Localization and language support\u003C\u002Fli>\n\u003Cli>When leaving or refreshing the admin page users should receive a prommpt if they have unsaved changes in the code boxes\u003C\u002Fli>\n\u003Cli>All above are under consideration and may or may not be added. Please feel free to email me or write a comment here in the reviews or support section with bugs and\u002For suggestions.\u003C\u002Fli>\n\u003C\u002Fol>\n","Content blocks for global content, with revisions. Use HTML without formatting being broken. Not only for devs.",300,3611,"2018-12-25T10:14:00.000Z","5.0.25","4.0.1",[93,94,95,96,97],"content-blocks","html","modular","reusable-content","shortcodes","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdev-content-blocks.1.4.1.zip",{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":108,"downloaded":109,"rating":29,"num_ratings":29,"last_updated":110,"tested_up_to":111,"requires_at_least":17,"requires_php":18,"tags":112,"homepage":115,"download_link":116,"security_score":27,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"post-content-shortcode","Post Content Shortcode","1.0.1","Herron","https:\u002F\u002Fprofiles.wordpress.org\u002Fherronagency\u002F","\u003Cp>\u003Cstrong>Post Content Shortcode\u003C\u002Fstrong> allows you to display the content of any post using a shortcode like:\u003C\u002Fp>\n\u003Cp>[post_content id=”123″]\u003C\u002Fp>\n\u003Cp>This is useful for reusing content in multiple places, referencing another post inline, or including dynamically updated blocks of content.\u003C\u002Fp>\n\u003Cp>You can configure which post statuses are allowed to be embedded from the plugin’s settings page under \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Post Content Shortcode\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Use the shortcode like this:\u003C\u002Fp>\n\u003Cp>[post_content id=”123″]\u003C\u002Fp>\n\u003Cp>Where \u003Ccode>123\u003C\u002Fcode> is the ID of the post you want to embed.\u003C\u002Fp>\n\u003Cp>To avoid infinite loops, the plugin prevents a post from including itself.\u003C\u002Fp>\n\u003Cp>Only posts with selected \u003Cstrong>statuses\u003C\u002Fstrong> (e.g. Published, Draft) will be rendered. You can control this from the plugin settings page.\u003C\u002Fp>\n\u003Ch3>Customizing the Shortcode Tag\u003C\u002Fh3>\n\u003Cp>By default, the shortcode tag is \u003Ccode>post_content\u003C\u002Fcode>. You can change it by adding this to your theme’s \u003Ccode>functions.php\u003C\u002Fcode> file:\u003C\u002Fp>\n\u003Cp>add_filter( ‘herron_pcs_shortcode_tag’, function( $tag ) {\u003Cbr \u002F>\n    return ‘my_custom_shortcode’;\u003Cbr \u002F>\n});\u003C\u002Fp>\n\u003Cp>After doing so, use the new tag:\u003C\u002Fp>\n\u003Cp>[my_custom_shortcode id=”123″]\u003C\u002Fp>\n\u003Cp>The settings page and all logic will automatically respect this change.\u003C\u002Fp>\n\u003Ch3>Learn More About Herron\u003C\u002Fh3>\n\u003Cp>This plugin is part of Herron’s ongoing effort to give back to the WordPress community. If you’re interested in how we build custom WordPress solutions for clients or want to collaborate, please visit \u003Ca href=\"https:\u002F\u002Fherron.agency\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fherron.agency\u002F\u003C\u002Fa>.\u003C\u002Fp>\n","Embed the content of another post using a simple shortcode. Useful for reusing content across pages or posts.",30,453,"2025-06-29T12:54:00.000Z","6.8.5",[93,113,114,96,23],"dynamic-content","post-content","https:\u002F\u002Fherron.agency\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-content-shortcode.1.0.1.zip",{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":125,"downloaded":126,"rating":29,"num_ratings":29,"last_updated":127,"tested_up_to":16,"requires_at_least":16,"requires_php":128,"tags":129,"homepage":98,"download_link":132,"security_score":27,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"spelhubben-weather","Spelhubben Weather","2.0.2","Kenta Mattsson","https:\u002F\u002Fprofiles.wordpress.org\u002Fspelhubben\u002F","\u003Cp>This plugin displays current weather and an optional forecast. It can aggregate data from free global weather providers (Open-Meteo, SMHI, Yr\u002FMET Norway, FMI, Open-Weathermap, and Weatherapi.com) and compute a simple consensus. Works worldwide with excellent coverage in Europe and beyond.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This program is free software; you can redistribute it and\u002For modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\u003C\u002Fp>\n\u003Cp>Full license text is included in the \u003Ccode>LICENSE\u003C\u002Fcode> file in the plugin root.\u003C\u002Fp>\n\u003Ch3>Feedback & Bug Reports\u003C\u002Fh3>\n\u003Cp>Feedback and bug reports can be posted here: https:\u002F\u002Fgithub.com\u002FK3NT4\u002Fspelhubben-weather\u002Fissues\u003Cbr \u002F>\nFor common questions see the FAQ: https:\u002F\u002Fgithub.com\u002FK3NT4\u002Fspelhubben-weather\u002Fblob\u002Fmain\u002FDocs\u002FFAQ.md\u003Cbr \u002F>\nFor Roadmap: https:\u002F\u002Fgithub.com\u002Fusers\u002FK3NT4\u002Fprojects\u002F2\u003Cbr \u002F>\nLicense: GPLv3 or later\u003Cbr \u002F>\nLicense URI: https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-3.0.html\u003C\u002Fp>\n\u003Cp>Weather widget & block with optional map and daily forecast. Can combine Open-Meteo, SMHI, Yr\u002FMET, FMI, Open-Weathermap, and Weatherapi.com data.\u003C\u002Fp>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cp>The plugin is \u003Cstrong>fully translatable\u003C\u002Fstrong> and includes built-in translations for \u003Cstrong>Swedish (sv_SE)\u003C\u002Fstrong> and \u003Cstrong>Norwegian Bokmål (nb_NO)\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch3>How to translate the plugin\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Option 1: Contribute to translate.wordpress.org (recommended)\u003C\u002Fstrong>\u003Cbr \u002F>\n– Visit \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fspelhubben-weather\u002F\" rel=\"nofollow ugc\">translate.wordpress.org\u003C\u002Fa>\u003Cbr \u002F>\n– Select your language and add translations via the browser interface\u003Cbr \u002F>\n– Your translations will automatically be included in future releases\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Option 2: Local translation files\u003C\u002Fstrong>\u003Cbr \u002F>\nIf you need to add or modify translations locally:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Generate or update the POT file\u003C\u002Fstrong> (translation template):\u003Cbr \u002F>\n   \u003Ccode>wp i18n make-pot . languages\u002Fspelhubben-weather.pot --slug=spelhubben-weather\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Create a PO file for your language\u003C\u002Fstrong> (e.g., \u003Ccode>spelhubben-weather-de_DE.po\u003C\u002Fcode>):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Copy the \u003Ccode>.pot\u003C\u002Fcode> file and rename to match your locale (e.g., \u003Ccode>de_DE\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Use a translation tool like \u003Ca href=\"https:\u002F\u002Fpoedit.net\u002F\" rel=\"nofollow ugc\">Poedit\u003C\u002Fa> or a text editor\u003C\u002Fli>\n\u003Cli>Translate all strings in the PO file\u003C\u002Fli>\n\u003Cli>Save the file as \u003Ccode>spelhubben-weather-de_DE.po\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Generate the MO file\u003C\u002Fstrong> (compiled binary format):\u003Cbr \u002F>\n   \u003Ccode>msgfmt spelhubben-weather-de_DE.po -o spelhubben-weather-de_DE.mo\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Place files in the plugin\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Store both \u003Ccode>.po\u003C\u002Fcode> and \u003Ccode>.mo\u003C\u002Fcode> files in \u003Ccode>\u002Flanguages\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Also generate a \u003Ccode>.l10n.php\u003C\u002Fcode> file (WordPress 6.0+):\u003Cbr \u002F>\n \u003Ccode>wp i18n make-json languages\u002Fspelhubben-weather-de_DE.po --no-purge\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Activate your translation\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Change your WordPress language to match the locale code (Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> General \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Site Language)\u003C\u002Fli>\n\u003Cli>The plugin will automatically load the translated strings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Translation file structure\u003C\u002Fstrong>:\u003Cbr \u002F>\n    \u003Ccode>languages\u002F\u003Cbr \u002F>\n  spelhubben-weather.pot          (template for all translations)\u003Cbr \u002F>\n  spelhubben-weather-sv_SE.po    (Swedish source text)\u003Cbr \u002F>\n  spelhubben-weather-sv_SE.mo    (Swedish compiled)\u003Cbr \u002F>\n  spelhubben-weather-sv_SE.l10n.php\u003Cbr \u002F>\n  spelhubben-weather-nb_NO.po    (Norwegian source text)\u003Cbr \u002F>\n  spelhubben-weather-nb_NO.mo    (Norwegian compiled)\u003Cbr \u002F>\n  spelhubben-weather-nb_NO.l10n.php\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What gets translated\u003C\u002Fstrong>:\u003Cbr \u002F>\n– All frontend strings (shortcode output, widget labels, weather descriptions, WMO codes)\u003Cbr \u002F>\n– Admin settings and UI labels\u003Cbr \u002F>\n– JavaScript strings (expand\u002Fcollapse, status messages)\u003Cbr \u002F>\n– Error messages and notices\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Best practices\u003C\u002Fstrong>:\u003Cbr \u002F>\n– Use context clues in the POT file (\u003Ccode>msgctxt\u003C\u002Fcode>) to distinguish similar phrases\u003Cbr \u002F>\n– Test your translation in WordPress to ensure formatting and plurals work correctly\u003Cbr \u002F>\n– Check that translated UI aligns properly in your language (RTL vs LTR)\u003C\u002Fp>\n","Weather widget, Gutenberg block and shortcode with optional map and multi-provider forecasts.",10,1206,"2026-03-11T19:29:00.000Z","7.4",[20,130,23,131,24],"forecast","weather","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fspelhubben-weather.2.0.2.zip",{"slug":134,"name":135,"version":136,"author":135,"author_profile":137,"description":138,"short_description":139,"active_installs":140,"downloaded":141,"rating":142,"num_ratings":125,"last_updated":143,"tested_up_to":16,"requires_at_least":144,"requires_php":18,"tags":145,"homepage":150,"download_link":151,"security_score":27,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"extendify","Extendify","2.4.1","https:\u002F\u002Fprofiles.wordpress.org\u002Fextendify\u002F","\u003Cp>Extendify is the platform of site design and creation tools for people that want to build a beautiful WordPress website with a library of patterns for the Gutenberg block editor.\u003C\u002Fp>\n\u003Cp>Make a beautiful WordPress website easier and faster than ever before with Extendify’s library of Gutenberg block patterns for Gutenberg.\u003C\u002Fp>\n\u003Ch4>A library of Gutenberg block patterns\u003C\u002Fh4>\n\u003Cp>Our library of reusable website block patterns can be assembled to rapidly build beautiful websites or add to existing ones. These well-designed block patterns enable you to drag, drop and publish in WordPress, without a single line of code.\u003C\u002Fp>\n\u003Ch4>Core Gutenberg blocks\u003C\u002Fh4>\n\u003Cp>Get beautiful patterns without the added maintenance of third-party blocks or block collections, as our Gutenberg block patterns are made with core WordPress blocks whenever possible.\u003C\u002Fp>\n\u003Ch4>Built for your theme\u003C\u002Fh4>\n\u003Cp>Extendify is a theme-agnostic design experience platform that works with your Gutenberg-friendly WordPress theme or Block Theme — instantly leveling-up your editing and publishing flow today. If you change your theme, colors, typography, or any other element, your Extendify Gutenberg block patterns will adapt to the new design.\u003C\u002Fp>\n\u003Ch4>Block Pattern Types\u003C\u002Fh4>\n\u003Cp>Choose from Gutenberg block pattern types for every part of your website, including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>About page patterns\u003C\u002Fli>\n\u003Cli>Call to action patterns\u003C\u002Fli>\n\u003Cli>Feature patterns\u003C\u002Fli>\n\u003Cli>Gallery patterns\u003C\u002Fli>\n\u003Cli>Headline patterns\u003C\u002Fli>\n\u003Cli>Hero patterns\u003C\u002Fli>\n\u003Cli>Team patterns\u003C\u002Fli>\n\u003Cli>Text patterns\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Like Extendify?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Follow us on \u003Ca href=\"https:\u002F\u002Fwww.twitter.com\u002Fextendifyinc\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Rate us on \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fextendify\u002Freviews\u002F?filter=5\u002F#new-post\" rel=\"ugc\">WordPress\u003C\u002Fa> 🙂\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Privacy\u003C\u002Fh4>\n\u003Cp>Extendify is a SaaS (software as a service) connector plugin that uses a custom API to fetch block patterns and page layouts from our servers. API requests are only made when a user clicks on the Library button. In order to provide and improve this service, Extendify passes site data along with an API request, including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Browser\u003C\u002Fli>\n\u003Cli>Referring site\u003C\u002Fli>\n\u003Cli>Category selection\u003C\u002Fli>\n\u003Cli>WP language\u003C\u002Fli>\n\u003Cli>WP version\u003C\u002Fli>\n\u003Cli>Active theme\u003C\u002Fli>\n\u003Cli>Active plugins\u003C\u002Fli>\n\u003Cli>Anonymized UUID\u003C\u002Fli>\n\u003Cli>Anonymized IP address\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>By activating the Extendify plugin and accessing the library, you agree to our \u003Ca href=\"https:\u002F\u002Fextendify.com\u002Fprivacy-policy\" rel=\"nofollow ugc\">privacy policy\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fextendify.com\u002Fterms-of-service\" rel=\"nofollow ugc\">terms of service\u003C\u002Fa>.\u003C\u002Fp>\n","The best WordPress templates, pattern, and layout library with 1,000+ designs built for the Gutenberg block editor.",500000,11434179,94,"2026-03-05T17:57:00.000Z","6.5",[20,146,147,148,149],"gutenberg","layouts","patterns","templates","https:\u002F\u002Fextendify.com\u002F?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fextendify.2.4.1.zip",{"attackSurface":153,"codeSignals":217,"taintFlows":274,"riskAssessment":275,"analyzedAt":286},{"hooks":154,"ajaxHandlers":209,"restRoutes":210,"shortcodes":211,"cronEvents":216,"entryPointCount":28,"unprotectedCount":29},[155,161,165,169,174,178,182,186,190,194,198,202,206],{"type":156,"name":157,"callback":158,"priority":125,"file":159,"line":160},"action","pre_get_posts","reblex_reusable_menu_polylang_all_langs","reusable-blocks-extended.php",22,{"type":156,"name":162,"callback":163,"file":159,"line":164},"admin_init","reblex_admin_init",25,{"type":156,"name":166,"callback":167,"priority":125,"file":159,"line":168},"registered_post_type","reblex_reusable_menu_display",28,{"type":170,"name":171,"callback":172,"file":159,"line":173},"filter","manage_wp_block_posts_columns","reblex_reusable_screen_add_column",29,{"type":156,"name":175,"callback":176,"priority":177,"file":159,"line":108},"manage_wp_block_posts_custom_column","reblex_reusable_screen_fill_column",1000,{"type":156,"name":179,"callback":180,"file":159,"line":181},"admin_enqueue_scripts","reblex_reusable_screen_enqueues",31,{"type":170,"name":183,"callback":184,"priority":177,"file":159,"line":185},"use_block_editor_for_post","reblex_enable_gutenberg_post",34,{"type":170,"name":187,"callback":188,"priority":177,"file":159,"line":189},"use_block_editor_for_post_type","reblex_enable_gutenberg_post_type",35,{"type":156,"name":191,"callback":192,"file":159,"line":193},"admin_notices","reblex_reusable_screen_block_pattern_registration",146,{"type":156,"name":195,"callback":196,"file":159,"line":197},"wp_head","reblex_reusable_save_registered_styles",276,{"type":156,"name":199,"callback":200,"file":159,"line":201},"widgets_init","closure",394,{"type":170,"name":203,"callback":204,"priority":125,"file":159,"line":205},"dashboard_glance_items","reblex_add_reusables_to_dashboard",480,{"type":156,"name":162,"callback":207,"file":159,"line":208},"reblex_register_block_patterns",536,[],[],[212],{"tag":213,"callback":214,"file":159,"line":215},"reblex","reblex_shortcode",381,[],{"dangerousFunctions":218,"sqlUsage":219,"outputEscaping":224,"fileOperations":29,"externalRequests":29,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":273},[],{"prepared":29,"raw":28,"locations":220},[221],{"file":159,"line":222,"context":223},182,"$wpdb->get_results() with variable interpolation",{"escaped":164,"rawEcho":50,"locations":225},[226,229,231,233,235,237,239,241,243,245,247,249,250,252,253,255,257,259,261,263,265,267,269,271],{"file":159,"line":227,"context":228},187,"raw output",{"file":159,"line":230,"context":228},206,{"file":159,"line":232,"context":228},214,{"file":159,"line":234,"context":228},222,{"file":159,"line":236,"context":228},223,{"file":159,"line":238,"context":228},234,{"file":159,"line":240,"context":228},235,{"file":159,"line":242,"context":228},237,{"file":159,"line":244,"context":228},246,{"file":159,"line":246,"context":228},254,{"file":159,"line":248,"context":228},314,{"file":159,"line":248,"context":228},{"file":159,"line":251,"context":228},317,{"file":159,"line":251,"context":228},{"file":159,"line":254,"context":228},333,{"file":159,"line":256,"context":228},336,{"file":159,"line":258,"context":228},337,{"file":159,"line":260,"context":228},338,{"file":159,"line":262,"context":228},364,{"file":159,"line":264,"context":228},402,{"file":159,"line":266,"context":228},410,{"file":159,"line":268,"context":228},411,{"file":159,"line":270,"context":228},434,{"file":159,"line":272,"context":228},435,[],[],{"summary":276,"deductions":277},"The \"reusable-blocks-extended\" plugin v0.9.1 exhibits a generally good security posture with no identified critical or high-severity vulnerabilities in the static analysis or taint flow reports. The plugin implements necessary nonce and capability checks, and the limited attack surface (one shortcode) appears to be protected. However, the analysis reveals a concerning lack of prepared statements for its single SQL query, which represents a significant risk of SQL injection if not handled carefully within the plugin's logic.  Furthermore, the plugin has a history of medium-severity vulnerabilities, specifically Cross-Site Request Forgery (CSRF), although the most recent vulnerability is patched. While the absence of unpatched CVEs and a small attack surface are strengths, the unescaped output percentage (51%) and the raw SQL query are notable weaknesses that require attention to ensure robust security.",[278,281,284],{"reason":279,"points":280},"SQL query not using prepared statements",7,{"reason":282,"points":283},"51% of output not properly escaped",5,{"reason":285,"points":283},"History of medium severity CSRF vulnerabilities","2026-03-17T05:36:01.528Z",{"wat":288,"direct":293},{"assetPaths":289,"generatorPatterns":290,"scriptPaths":291,"versionParams":292},[],[],[],[],{"cssClasses":294,"htmlComments":295,"htmlAttributes":296,"restEndpoints":297,"jsGlobals":298,"shortcodeOutput":299},[],[],[],[],[],[]]