[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f9l8PtRS31rmFm6NAIcoYEKSHcwoTSF-BRHglQ4wHA_E":3,"$fAsrcBRbKPmo2elpfehiKGWaP8LR4HeODnphBn5JLKu8":191,"$faS21xIdhtQljsaQqMMtn85TnIaBVyTwXAduTx64wqsQ":196},{"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":22,"download_link":23,"security_score":24,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":35,"analysis":142,"fingerprints":176},"urvanov-richtext-addfmt","Urvanov richtext addfmt","0.1","urvanov","https:\u002F\u002Fprofiles.wordpress.org\u002Furvanov\u002F","\u003Cp>Adds additional buttons to Gutenberg format toolbar for SUP and SUB HTML tags.\u003C\u002Fp>\n","Adds additional buttons to Gutenberg editor.",80,2433,90,2,"2025-06-09T08:17:00.000Z","6.8.5","5.0.3","7.0",[20,21],"editor","format","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Furvanov-richtext-addfmt.zip",100,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":31,"avg_security_score":24,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},3080,109,79,"2026-05-20T07:02:36.565Z",[36,60,81,100,120],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":13,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":56,"download_link":57,"security_score":24,"vuln_count":58,"unpatched_count":25,"last_vuln_date":59,"fetched_at":27},"tinymce-advanced","Advanced Editor Tools","5.9.2","Andrew Ozz","https:\u002F\u002Fprofiles.wordpress.org\u002Fazaozz\u002F","\u003Cp>Advanced Editor Tools (previously TinyMCE Advanced) introduces a “Classic Paragraph” block for the block editor (Gutenberg).\u003Cbr \u002F>\nIf you are not quite ready to switch to the block editor, or have plugins that cannot be used there (yet), using the Classic Paragraph block is your best option. It lets you to continue to use the familiar TinyMCE editor for most tasks, and at the same time gives you full access to all blocks and new features in the block editor.\u003C\u002Fp>\n\u003Cp>Version 5.5 continues to improve and enhance the new features introduced in version 5.0 of the plugin. It includes an improved “Clear Formatting” button, several advanced settings for tables, and importing and exporting of the settings to a file.\u003C\u002Fp>\n\u003Cp>If you want to continue to use the previous (“classic”) editor in WordPress 5.0 and newer, this plugin has an option to replace the new editor with the previous one. If you prefer to have access to both editors side by side or to allow your users to switch editors, it would be better to install the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fclassic-editor\u002F\" rel=\"ugc\">Classic Editor plugin\u003C\u002Fa>. Advanced Editor Tools is fully compatible with the classic editor plugin and similar plugins that restore use of the previous WordPress editor.\u003C\u002Fp>\n\u003Cp>As always this plugin will let you add, remove and arrange the buttons that are shown on the Visual Editor toolbar in the Classic Paragraph and Classic blocks in the block editor, and in the classic editor (when enabled by a plugin). There you can configure up to four rows of buttons including Font Sizes, Font Family, text and background colors, tables, etc.\u003C\u002Fp>\n\u003Cp>It includes 15 plugins for \u003Ca href=\"https:\u002F\u002Fwww.tiny.cloud\u002F\" rel=\"nofollow ugc\">TinyMCE\u003C\u002Fa> that are automatically enabled or disabled depending on the buttons you have chosen.\u003Cbr \u002F>\nIn addition this plugin adds options for keeping the paragraph tags in text mode and importing the CSS classes from the theme’s editor-style.css.\u003C\u002Fp>\n\u003Ch4>Some of the features added by this plugin\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>“Classic Paragraph” block that can be used instead of or together with the standard Paragraph block.\u003C\u002Fli>\n\u003Cli>An option to set the Classic Paragraph or Classic block as the default block in the block editor.\u003C\u002Fli>\n\u003Cli>Supports converting of most default blocks to classic paragraphs, and from classic paragraphs back to the default blocks.\u003C\u002Fli>\n\u003Cli>Support for creating and editing tables in the Classic blocks and the classic editor.\u003C\u002Fli>\n\u003Cli>More options when inserting lists in the Classic blocks and the classic editor.\u003C\u002Fli>\n\u003Cli>Search and Replace in the Classic blocks and the classic editor.\u003C\u002Fli>\n\u003Cli>Ability to set Font Family and Font Sizes in the Classic blocks and the classic editor.\u003C\u002Fli>\n\u003Cli>And many others.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Privacy\u003C\u002Fh4>\n\u003Cp>Advanced Editor Tools does not collect or store any user related data. It does not set cookies, and it does not connect to any third-party websites. It only uses functionality that is available in \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002F\" rel=\"ugc\">WordPress\u003C\u002Fa>, and in the \u003Ca href=\"https:\u002F\u002Ftinymce.com\u002F\" rel=\"nofollow ugc\">TinyMCE editor\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>In that terms Advanced Editor Tools does not affect your website’s user privacy in any way.\u003C\u002Fp>\n","Extends and enhances the block editor (Gutenberg) and the classic editor (TinyMCE).",2000000,35173303,352,"2025-12-08T15:02:00.000Z","6.9.4","5.9","5.6",[52,53,20,54,55],"block-editor","classic-editor","formatting","gutenberg","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftinymce-advanced\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftinymce-advanced.5.9.2.zip",1,"2014-09-08 00:00:00",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":70,"num_ratings":71,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":22,"tags":75,"homepage":22,"download_link":79,"security_score":80,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"advanced-image-styles","Advanced Image Styles","0.4.1","Gregory Cornelius","https:\u002F\u002Fprofiles.wordpress.org\u002Fgcorne\u002F","\u003Cp>Adjust an image’s margins and border with ease in the Visual editor.\u003C\u002Fp>\n","Adjust an image's margins and border with ease in the Visual editor.",10000,150078,92,65,"2018-02-10T15:01:00.000Z","4.7.33","3.9",[20,54,76,77,78],"image","photo","tinymce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-image-styles.0.4.1.zip",85,{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":68,"downloaded":89,"rating":24,"num_ratings":90,"last_updated":91,"tested_up_to":92,"requires_at_least":93,"requires_php":22,"tags":94,"homepage":98,"download_link":99,"security_score":80,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"tinymce-clear-buttons","TinyMCE Clear Float","1.3.2","Philipp Bammes","https:\u002F\u002Fprofiles.wordpress.org\u002Ftyrannous\u002F","\u003Cp>Adds a button to the WordPress TinyMCE editor to clear floats.\u003C\u002Fp>\n","Adds a button to the WordPress TinyMCE editor to clear floats.",72577,6,"2018-08-01T16:22:00.000Z","4.9.29","4.6",[95,96,54,78,97],"clear","clear-floats","wordpress-editor","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftinymce-clear-buttons\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftinymce-clear-buttons.1.3.2.zip",{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":68,"downloaded":108,"rating":109,"num_ratings":110,"last_updated":111,"tested_up_to":112,"requires_at_least":113,"requires_php":50,"tags":114,"homepage":118,"download_link":119,"security_score":80,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"toggle-wpautop","Toggle wpautop","1.3.0","Jonathan Desrosiers","https:\u002F\u002Fprofiles.wordpress.org\u002Fdesrosj\u002F","\u003Cp>\u003Cstrong>Note: This plugin does not support the block editor but should continue to work without issue when using it with custom post types and the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fclassic-editor\u002F\" rel=\"ugc\">Classic Editor Plugin\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Before WordPress displays a post’s content, the content gets passed through multiple filters to ensure that it safely appears how you enter it within the editor.\u003C\u002Fp>\n\u003Cp>One of these filters is \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fwpautop\" title=\"wpautop\" rel=\"nofollow ugc\">wpautop\u003C\u002Fa>, which replaces double line breaks with \u003Ccode>\u003Cp>\u003C\u002Fcode> tags, and single line breaks with \u003Ccode>\u003Cbr \u002F>\u003C\u002Fcode> tags. However, this filter sometimes causes issues when you are inputting a lot of HTML markup in the post editor.\u003C\u002Fp>\n\u003Cp>This plugin displays a checkbox in the publish meta box of the post edit screen that disables the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fwpautop\" title=\"wpautop\" rel=\"nofollow ugc\">wpautop\u003C\u002Fa> filter for that post.\u003C\u002Fp>\n\u003Cp>Also adds a ‘wpautop’, or ‘no-wpautop’ class to the post_class filter to help with CSS styling.\u003C\u002Fp>\n","Easily disable the default wpautop filter on a post by post basis.",108490,98,32,"2021-04-07T13:35:00.000Z","5.7.15","3.0",[20,115,54,116,117],"excerpt","post-content","wpautop","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftoggle-wpautop","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftoggle-wpautop.1.3.0.zip",{"slug":121,"name":122,"version":123,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":128,"downloaded":129,"rating":130,"num_ratings":131,"last_updated":132,"tested_up_to":133,"requires_at_least":134,"requires_php":50,"tags":135,"homepage":138,"download_link":139,"security_score":140,"vuln_count":14,"unpatched_count":25,"last_vuln_date":141,"fetched_at":27},"tinymce-custom-styles","TinyMCE Custom Styles","1.1.5","Tim Reeves","https:\u002F\u002Fprofiles.wordpress.org\u002Ftim-reeves\u002F","\u003Cp>\u003Cstrong>Please someone take over maintaining this plugin, or it will get abandoned – with over 9.000 active installations.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>I’m now 69 and although retired, all my time is taken up with other projects, while I still have the energy for them. Why you might want to take it over? It’s really useful:\u003C\u002Fp>\n\u003Cp>Make your editing experience as simple and good as possible by improving the way you work with the TinyMCE visual editor (including Gutenberg Classic block). This plugin adds custom CSS file(s) to the frontend and to the TinyMCE editor; and it allows you to populate TinyMCE’s ‘Formats’ dropdown with your own styles. The features in more detail:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.\u003C\u002Fstrong> Installs two CSS stylesheet files into your chosen location (so you can still do updates of the active theme and this plugin and even switch to another theme). In general you will need to fetch the auto-created stub files via FTP, edit them locally and upload them, overwriting the previous versions.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>editor-style.css\u003C\u002Fem> is used for styling your TinyMCE Editor\u003C\u002Fli>\n\u003Cli>\u003Cem>editor-style-shared.css\u003C\u002Fem> is used for styles to be used by the frontend AND in your TinyMCE editor (so you do not have to copy)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>To use this feature, you have to write your own CSS code into these files.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2.\u003C\u002Fstrong> The main feature of this Plugin is to offer a Backend-GUI to create custom styles for TinyMCE (‘Formats’ dropdown) dynamically.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Easy to add, change and delete styles\u003C\u002Fli>\n\u003Cli>No editing of source code required (excepting the CSS stylesheets)\u003C\u002Fli>\n\u003Cli>Allows you to add block- and inline elements which are not provided by TinyMCE, e.g. \u003Cfigure>, \u003Ccite>, \u003Cq> etc.\u003C\u002Fli>\n\u003Cli>The plugin’s backend page contains a lot of description and some links to help you define your styles correctly\u003C\u002Fli>\n\u003Cli>Note that each style can have both CSS Classes and\u002For CSS Inline-Styles. The latter (excepting color) will even be applied to the Formats dropdown menu items. However, I do not recommend inline styles as they are inserted into the text of the post\u002Fpage and remain unchanged if you later alter the style in the plugin settings – so in general stick to Classes!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>How the two stylesheets are applied\u003C\u002Fstrong>\u003Cbr \u002F>\nThe \u003Cem>shared style sheet\u003C\u002Fem> file is enqueued to be included on frontend pages (via the usual \u003Clink> tag in the \u003Chead> area) using the standard WordPress function \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Ffunctions\u002Fwp_enqueue_style\u002F\" rel=\"nofollow ugc\">wp_enqueue_style\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>So, as with most other stylesheets, the statements in it will automatically apply to the whole HTML page. So define class names which will not collide with any already in use by the theme – and do not define styles for HTML elements without a limiting class name unless you want them to apply to all elements of that tag type (including in header, footer, sidebar…).\u003C\u002Fp>\n\u003Cp>\u003Cem>Both stylesheets\u003C\u002Fem> are passed to TinyMCE by calling: add_filter(‘mce_css’, …)\u003C\u002Fp>\n\u003Cp>What this causes to happen is that they are linked in to the HTML document which is the source for an \u003Ciframe>, which is the editing area of TinyMCE. So they should definitely only apply to HTML in the iframe – although I have heard that some situations, e.g. a cache plugin, may break this mechanism.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Gutenberg classic blocks\u003C\u002Fstrong>\u003Cbr \u002F>\nAs of version 1.1.1 this plugin works for the Gutenberg classic block.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WordPress MultiSite\u003C\u002Fstrong>\u003Cbr \u002F>\nAlthough it does not check for MultiSite, the plugin works in the MultiSite environment, since WordPress uses a separate Options table for each MultiSite. You can reuse the same CSS files (by supplying the same custom directory in each Site), or add separate ones for each Site.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Current Languages\u003C\u002Fstrong>\u003Cbr \u002F>\n– en_US\u003Cbr \u002F>\n– de_DE (Tim Reeves)\u003C\u002Fp>\n\u003Ch3>Background Information\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Then and Now\u003C\u002Fstrong>\u003Cbr \u002F>\nThis plugin was originally written by David Stöckl in 2013 – long before Gutenberg had been conceived, and at a time when several different plugins all tried to enhance the TinyMCE editor in different ways. It was abandoned a year later by David and I forked it in 2016, renamed to TinyMCE Custom Styles” (“TCS”). Most of those other TinyMCE-related plugins, notably WP Edit, are now abandoned; apart from this plugin, only TinyMCE Advanced, now also handling Gutenberg and renamed to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftinymce-advanced\u002F\" rel=\"ugc\">Advanced Editor Tools\u003C\u002Fa> (abbreviated hereafter to “AET”) seems to still be notably active in this area. AET is a great plugin – you can also check out its companion for developers \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadvanced-tinymce-configuration\u002F\" rel=\"ugc\">Advanced TinyMCE Configuration\u003C\u002Fa>. I use AET myself on most websites – but there are a few things it’s not designed to do, and that’s where this plugin fills the gap. You can consider it as AET’s sidekick 🙂\u003C\u002Fp>\n\u003Cp>\u003Cstrong>TinyMCE and the WordPress theme\u003C\u002Fstrong>\u003Cbr \u002F>\nThe goal is to configure the TinyMCE backend editor so that its ‘Visual’ tab displays content as closely as possible to how it will look on the content area of the actual website. To this end, WordPress has for years provided a feature which can be used by themes, called ‘editor styles’. This allows a theme to make known to WordPress one or more CSS files, which should contain a subset of the theme’s styles, those which apply to the display of content in the content area (i.e. excluding styles applying to headers, sidebars, footers, archives, comments, …). If the theme provides this feature, that CSS file (or files) are loaded to TinyMCE to achieve the goal. The default location is one file named ‘editor-style.css’ in the theme’s root directory. In fact, WordPress seems to find this file, if present, even if the theme does not register it. All good modern themes provide this feature.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Advanced Editor Tools\u003C\u002Fstrong>\u003Cbr \u002F>\nThe really good plugin ‘Advanced Editor Tools’ (“AET”, from and maintained by Andrew Ozz, a WordPress core developer, now attributed to Automattic, the company effectively behind WordPress) helps with one of the problems noted above: It gives you complete freedom to select which buttons and dropdowns are displayed in TinyMCEs header – in particular you can just drag the ‘Formats’ dropdown into one of the bar areas, exactly where you want it. AET also has a number of other options, for example to prevent TinyMCE from removing tags and minifying the text in the ‘Text’ tab, which is very useful when you need to look at the HTML and do any manual adjustment.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Shortcomings in the standard setup\u003C\u002Fstrong>\u003Cbr \u002F>\nThere are some regrettable weaknesses in the unenhanced situation:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Any custom CSS which you set in the WordPress Customizer is not applied to TinyMCE (it is written out as direct styles in the \u003Chead> of each website page).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The styles which the theme provides for TinyMCE are applied to the HTML displayed by the editor. This is fine with fixed styling of elements like \u003Cp>, \u003Cul> or \u003Cblockquote>. But a theme may also include optional styles to change or enhance the display of an element – e.g. ‘.small’, ‘.screen-reader-text’, ‘.beforelist’, ‘.hilitebox’ and so on. In this case, and without help from any plugin, there is no way to select any of them from the menu or toolbar of TinyMCE in order to apply them to an element, so a user would need to know the style names and apply them manually in the ‘Text’ tab – not good. See below ‘importcss’, but note that it overwrites anything other plugins have put in the ‘Formats’ dropdown.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>In the standard configuration (i.e. without enhancer plugins) TinyMCE is not even configured to show the ‘Formats’ dropdown, which we need to apply custom styles to elements in the text.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>The TinyMCE Formats dropdown\u003C\u002Fstrong>\u003Cbr \u002F>\nInternal name: ‘styleselect’. By default, this dropdown is not displayed. You can \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTinyMCE_Custom_Styles\" rel=\"nofollow ugc\">add code\u003C\u002Fa> e.g. to your theme’s functions.php, to have it shown. Its default contents are 4 entries with corresponding submenus: Headings, Inline, Blocks and Alignement.\u003C\u002Fp>\n\u003Cp>TCS always registers the ‘Formats’ dropdown to TinyMCE’s second toolbar, this does not seem to be a problem for AET.\u003C\u002Fp>\n\u003Cp>It is in this area that TCS is really usefull: It allows you to create \u003Cem>named\u003C\u002Fem> styles, so you can name them descriptively, e.g. to show if the style is a block or inline style, if it uses the Wrapper option, and so on. Basically you will be adding styles to the dropdown which are defined in a stylesheet from the theme, or in your ‘editor-style-shared.css’, to allow you (or your customer) convenient and understandable access to them while editing.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The TinyMCE JavaScript plugin ‘importcss’\u003C\u002Fstrong>\u003Cbr \u002F>\nWhen the AET plugin is active, it offers an option “Create CSS classes menu” (subtitle: Load the CSS classes used in editor-style.css and replace the Formats menu). When checked, a TinyMCE JavaScript plugin called ‘importcss’ is loaded to the frontend, which parses the CSS loaded to TinyMCE (i.e. from your theme’s ‘editor styles’ and this plugins ‘editor-style.css’) and populates the ‘Formats’ dropdown with a selection of those styles. Styles applying directly to HTML elements without a class name are skipped. Styles applying to a tag and containing a class, e.g. “h1.page-title” will be included and work as expected. But for classes not limited to a tag, it has no way of knowing if the class is intended to be applied to a block element or as an inline element, nor to which tags it should apply or should use, so it simply offers them as inline elements, which may or may not be their intended use. Styles with a pseudo-class or pseudo-element (e.g. ‘:hover’, ‘::before’) will be omitted. The bottom line is, that however good the themes editor styles are, we end up with a sub-optimal population of the Formats dropdown: It will be too long (including many styles we don’t need or don’t understand), and some valuable styles will be missing or wrongly classified as inline styles. Given all these shortcomings, I have not found this feature to be of much use in practice.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>This plugin is a fork of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftinymce-and-tinymce-advanced-professsional-formats-and-styles\u002F\" rel=\"ugc\">TinyMCE Advanced Professsional Formats and Styles\u003C\u002Fa> which has been abandoned by the original author. Initially I just fixed a JavaScript bug so that it worked again, and cleaned up the code and messages a bit. Since then, a number of further improvements, see the changelog. I was born in 1954 and would be glad if someone else would now take over this plugin and further improve it. Translations are also very welcome.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fblog.blackbam.at\u002F\" rel=\"nofollow ugc\">David Stöckl\u003C\u002Fa>, Vienna, the original author. Many thanks!\u003C\u002Fli>\n\u003Cli>The plugin icon (\u003Ca href=\"https:\u002F\u002Ftimreeves.de\u002Fkompetenz\u002F\" rel=\"nofollow ugc\">Der Bitkönig\u003C\u002Fa>) was drawn by Gabriele Meischner, muchas Gracias!\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Frawrly\u002F\" rel=\"nofollow ugc\">Rawrly\u003C\u002Fa> for providing security updates.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Report Security Bugs\u003C\u002Fh3>\n\u003Cp>Please report all security bugs found in this project by following the \u003Ca href=\"https:\u002F\u002Fpatchstack.com\u002Fdatabase\u002Fvdp\u002Ftinymce-custom-styles\" rel=\"nofollow ugc\">vulnerability disclosure process\u003C\u002Fa>.\u003C\u002Fp>\n","Enhance TinyMCE visual editor with a dedicated stylesheet, a stylesheet shared with the frontend, and custom styles in the Formats dropdown.",8000,121060,78,15,"2024-06-29T09:26:00.000Z","6.5.8","5.0",[20,21,136,78,137],"style","visual","https:\u002F\u002Ftimreeves.de\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftinymce-custom-styles.zip",91,"2023-06-19 00:00:00",{"attackSurface":143,"codeSignals":159,"taintFlows":166,"riskAssessment":167,"analyzedAt":175},{"hooks":144,"ajaxHandlers":155,"restRoutes":156,"shortcodes":157,"cronEvents":158,"entryPointCount":25,"unprotectedCount":25},[145,151],{"type":146,"name":147,"callback":148,"file":149,"line":150},"action","init","urvanov_richtext_addfmt_script_register","urvanov-richtext-addfmt.php",21,{"type":146,"name":152,"callback":153,"file":149,"line":154},"enqueue_block_editor_assets","urvanov_richtext_addfmt_enqueue_assets_editor",26,[],[],[],[],{"dangerousFunctions":160,"sqlUsage":161,"outputEscaping":163,"fileOperations":25,"externalRequests":25,"nonceChecks":25,"capabilityChecks":25,"bundledLibraries":165},[],{"prepared":25,"raw":25,"locations":162},[],{"escaped":25,"rawEcho":25,"locations":164},[],[],[],{"summary":168,"deductions":169},"The \"urvanov-richtext-addfmt\" plugin version 0.1 exhibits a remarkably clean static analysis report, indicating a strong adherence to secure coding practices in its current state. The absence of dangerous functions, file operations, external HTTP requests, and a complete reliance on prepared statements for any potential SQL queries are all positive indicators. Furthermore, the fact that all output is properly escaped and there are no identified taint flows suggests a low risk of common injection vulnerabilities.\n\nHowever, the complete lack of entry points like AJAX handlers, REST API routes, shortcodes, and cron events is a double-edged sword. While it significantly reduces the attack surface, it also implies the plugin may have limited functionality or is intended to be integrated in a way that doesn't expose direct user interaction points. The absence of nonce and capability checks, while not a direct concern given the lack of exposed entry points, would become a significant risk if any new entry points were added in future versions without corresponding security measures.\n\nThe plugin's vulnerability history is also pristine, with no known CVEs. This, combined with the clean code analysis, points to a development process that prioritizes security. Overall, \"urvanov-richtext-addfmt\" v0.1 appears to be a secure plugin, with its primary weakness being a potential lack of demonstrable functionality that would necessitate security checks. Future development should focus on maintaining this secure posture and adding appropriate checks if functionality is expanded.",[170,173],{"reason":171,"points":172},"No nonce checks found",5,{"reason":174,"points":172},"No capability checks found","2026-03-16T21:25:09.248Z",{"wat":177,"direct":184},{"assetPaths":178,"generatorPatterns":180,"scriptPaths":181,"versionParams":182},[179],"\u002Fwp-content\u002Fplugins\u002Furvanov-richtext-addfmt\u002Furvanov-richtext-addfmt.js",[],[179],[183],"urvanov-richtext-addfmt\u002Furvanov-richtext-addfmt.js?ver=",{"cssClasses":185,"htmlComments":186,"htmlAttributes":187,"restEndpoints":188,"jsGlobals":189,"shortcodeOutput":190},[],[],[],[],[],[],{"error":192,"url":193,"statusCode":194,"statusMessage":195,"message":195},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Furvanov-richtext-addfmt\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":58,"versions":197},[198],{"version":6,"download_url":199,"svn_tag_url":200,"released_at":26,"has_diff":201,"diff_files_changed":202,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":203,"is_current":192},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Furvanov-richtext-addfmt.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Furvanov-richtext-addfmt\u002Ftags\u002F0.1\u002F",false,[],[]]