[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fci18kBxetJxYCOkHnyXGHxec_CCFGY3Xth8PwLDx8gw":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"marcuspope","MarcusPope","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarcuspope\u002F",5,6860,85,30,84,"2026-04-03T20:50:23.878Z",[14,39,58,74,90],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":20,"downloaded":21,"rating":22,"num_ratings":23,"last_updated":24,"tested_up_to":25,"requires_at_least":26,"requires_php":27,"tags":28,"homepage":34,"download_link":35,"security_score":9,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"root-relative-urls","Root Relative URLs","2.3","\u003Cp>A WordPress plugin that converts all URL formats to root-relative URLs to enable seamless transitioning between staging\u002Fproduction host environments and debugging\u002Ftesting from mobile devices, without the use of hackish tactics like textual find-replace strategies or risky hosts\u002FNAT spoofing strategies.\u003C\u002Fp>\n\u003Cp>With Root Relative URLs you can browse your development site from http:\u002F\u002Flocalhost\u002F or http:\u002F\u002F127.0.0.1\u002F or from a named network resource like http:\u002F\u002Fmycomputername\u002F without worrying about links redirecting you back to your site’s URL.\u003C\u002Fp>\n\u003Cp>This plugin also modifies the tinyMCE hooks so links and media embedded with built-in tools will only insert URLs from the first forward slash after the domain (i.e. the root of your site.)  This means when you push content changes to a staging or production environment they are guaranteed to reference the correct target instead of accidentally referencing a production resource in development or, worse-yet, a development-exclusive resource in production.\u003C\u002Fp>\n\u003Cp>It supports path-based MU Installations, but does not support domain-based MU sites due to architectural deficiencies in the WordPress core.\u003C\u002Fp>\n\u003Cp>Version 1.5 fixes an infinite redirect problem that is a result of a core bug in WordPress.  If you have problems with the \u003C!–more–> tag or permalinks for custom post types, please read the FAQ or new Install Steps for support.\u003C\u002Fp>\n\u003Cp>Version 2.2 allows for adding certain URL’s or partial URL’s to a blacklist, meaning I won’t use root relative urls, but dynamic absolute URLs instead for displaying content.  This will fix problems with 3rd party plugins, and can be configured on the General Settings page.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","Converts all URLs to root-relative URLs for hosting the same site on multiple IPs, easier production migration and better mobile device testing.",6000,77389,58,20,"2017-11-28T08:04:00.000Z","3.5.2","3.2.1","",[29,30,31,32,33],"admin","content","links","multisite","url","http:\u002F\u002Fwww.marcuspope.com\u002Fwordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Froot-relative-urls.zip",0,null,"2026-03-15T15:16:48.613Z",{"slug":40,"name":41,"version":42,"author":5,"author_profile":6,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":26,"requires_php":27,"tags":51,"homepage":34,"download_link":57,"security_score":9,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"preserved-html-editor-markup","Preserved HTML Editor Markup","1.5","\u003Cp>This plugin preserves the user-generated HTML markup in the TinyMCE editor.  Unlike other plugins this one allows developers to work in the HTML tab AND end-users to work in the WYSIWYG Visual tab at the same time!  No longer will your HTML markup be completely munged into an unrecognizable form when you switch between those tabs.  And you don’t have to hang your users\u002Feditors out to dry when you hand off the project with a disabled Visual tab.\u003C\u002Fp>\n\u003Ch4>IMPORTANT: Please read the installation instructions carefully.  If you have existing content it will not render properly after activating this plugin until you use the Fix It Tools.\u003C\u002Fh4>\n\u003Cp>(One user didn’t read or follow these steps and panicked thinking I ruined their website.)\u003C\u002Fp>\n\u003Cp>It also supports HTML5 Block Anchor tags in addition to other HTML5 elements, something that is currently not supported in WordPress via any existing plugins.\u003C\u002Fp>\n\u003Cp>Version 1.5 will probably be the last version I release for a while since my daughter will be born soon.  I’ve added support for full JavaScript code blocks in the HTML tab.  They are compatible and preserved when switching to Visual mode.  This rounds out the support for almost complete html preservation, with full use of the WYSIWYG editor. And you don’t need to wrap comment codes around it per the recommendations located here: \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FUsing_Javascript\" rel=\"nofollow ugc\">https:\u002F\u002Fcodex.wordpress.org\u002FUsing_Javascript\u003C\u002Fa> but you can leave them in if you want.\u003C\u002Fp>\n\u003Cp>Version 1.4 was just a minor patch release.  User @denl noticed a problem with the plugin CataBlog which implements its own administrative management features by disabling the ‘show_ui’ flag for its custom post type.  I was ignoring any custom post type that didn’t have a GUI, but it was an unecessary filter that probably limited other plugins.  This fix allows any post type that supports the TinyMCE editor to be “fixed” using the tools under Admin > Settings > Writing.\u003C\u002Fp>\n\u003Cp>Since version 1.3 you can now use inline CSS and JavaScript in the HTML editor and everything should be preserved.  To be clear, this applies to tags only, like \u003Ccode>onclick\u003C\u002Fcode> events and style definitions – not script blocks themselves.  To enable this feature you must disable the \u003Ccode>wptexturize\u003C\u002Fcode> and \u003Ccode>convert_chars\u003C\u002Fcode> filters by adding the following code to your theme’s \u003Ccode>functions.php\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>remove_filter(\"the_content\", \"wptexturize\");\nremove_filter(\"the_content\", \"convert_chars\");\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This new feature is pretty experimental at the moment.  I tried to make it compatible with wptexturize but that proved close to impossible without duplicating a lot of core code in my plugin.  It’s also not compatible with TinyMCE Advanced when the “stop removing p and br tags” setting is enabled.\u003Cbr \u002F>\nI’ve tested it on a variety of code samples and I’m pleased with the results but if you find any content that isn’t preserved just open a support ticket and I should be able to fix it.\u003C\u002Fp>\n\u003Cp>Since version 1.2, you now have a little more control over how content is created.  And most of the previous caveats to using this plugin are now resolved.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>You can now choose whether to use BR tags OR P tags for newlines.  Even better you can use both, where one return key press injects a BR tag, and two return key presses will wrap a Paragraph tag.  This is great for being able to wrap headers at specific break points all while enjoying the semantic perks of paragraphs.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>In addition to choosing what type of tags to use, you can also change the behavior depending on the type of post, including custom post types.  So Pages can default to BR tags, and Blog Posts can default to Paragraph tags.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>If you have existing content that was created before activating this plugin, you can now use the Fixit feature to convert your existing content in a way that makes it render the same as before. Only use this feature (located under Admin > Settings > Writing: Fixing Existing Content) if you are installing this plugin for the first time, otherwise it will remove all of the formatted white space in your posts.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Multi-line HTML comments are now supported (Thanks to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fprofile\u002Fcwlee_klagroup\" rel=\"ugc\">@cwlee_klagroup\u003C\u002Fa> for suggesting the working fix!)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The Format drop down in the TinyMCE editor had a bug which is now fixed.  It will now select “Format” if you place the cursor on a section of bare text.  Currently the editor just leaves the previously selected format option in place.  It’s minor but it’s good to know when you have bare text in your content.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>There was a fairly problematic bug in the old version where in some browsers you couldn’t change the formatting of a single line in the Visual editor if you started from scratch.  Choosing a different Format option would change the entire document, with the only work around being to edit the document in HTML mode.  That was bad, and somehow went unnoticed for far too long.  Anyway, that is fixed now.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The caveats that still remains are:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>With script blocks added to your HTML markup, the right arrow key does not pass over them in the Visual Tab.  You can down arrow over them however so this will likely never be addressed.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>If you use the Paragraph tag setting for newlines there is a minor bug where it will only wrap your content in Paragraph tags if you specify Paragraph in the Format drop down or if you enter more than one paragraph of text.  So if you just type one sentence and click save it will not wrap the content in Paragraph tags.  I tried to fix this but ran out of my allotted time working on other core issues.  Should be fixed in the next release.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>For performance reasons, it will only preserve spaces if 4 spaces are used consecutively – i.e. an expanded tab in developer terms.  It will not preserve intra-tag white space like \u003Cp&nbsp;&nbsp;&nbsp;&nbsp;>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>If you do add 4 or more spaces inside of an element tag it will corrupt the markup and mangle the output.  But as this is intended for developer edits, this should be an extreme rarity given the habit is virtually non-existent in development communities.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>PRE tags are not affected and behave as you would expect, however due to how browsers parse tags, the first newline in the content of a PRE tag will be wiped out unless it is padded with either another new line or multiple spaces.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>CODE tags are not preserving white space at all, and when wrapped with PRE tags white space is still removed.  I’m working to resolve this problem.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","Preserves white space and developer edits in HTML AND WYSIWYG tab.  Supports inline scripts\u002Fcss, JavaScript code blocks and HTML5 content editing",700,40027,100,42,"2017-11-28T19:36:00.000Z","3.4.2",[52,53,54,55,56],"editor","html","markup","white-space","wpautop","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpreserved-html-editor-markup.zip",{"slug":59,"name":60,"version":61,"author":5,"author_profile":6,"description":62,"short_description":63,"active_installs":47,"downloaded":64,"rating":47,"num_ratings":65,"last_updated":66,"tested_up_to":26,"requires_at_least":26,"requires_php":27,"tags":67,"homepage":34,"download_link":73,"security_score":9,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"enhanced-menu-editor","Enhanced Menu Editor","1.1","\u003Cp>The built-in menu editor for WordPress is a nicely built utility.  But often with larger content sites you end up spending a lot of effort keeping the\u003Cbr \u002F>\nmenus and the pages in sync.  This plugin serves three major purposes:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Allows for easy creation of sitemap menus by removing the pagination setting for “View All” pages.\u003C\u002Fli>\n\u003Cli>Allows for copying entire menus to a new menu.\u003C\u002Fli>\n\u003Cli>Allows you to synchronize the parent-child hierarchy of pages with the parent-child hierarchy of a given menu.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The first feature is pretty clear, it’s a pain to add say 150 pages to a sitemap menu when they are paginated by default at 50 pages.\u003C\u002Fp>\n\u003Cp>The second feature allows you to copy an existing menu and play around with tweaks to the structure without losing the effort put into the original menu.\u003C\u002Fp>\n\u003Cp>And the third feature is my favorite.  Basically instead of going to every single page and modifying the parent\u002Fchild relationship, you can create a sitemap menu and use the wonderful drag n drop feature of the menu editor to restructure your entire site.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","Adds menu editing options to the built-in WordPress Menus page like copying entire menus, and synchronizing page hierarchies with menu structures.",10142,4,"2012-07-15T04:44:00.000Z",[68,69,70,71,72],"bulk-edit","copy-menu","enhanced-menu","menu-sync","sitemap","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fenhanced-menu-editor.zip",{"slug":75,"name":76,"version":77,"author":5,"author_profile":6,"description":78,"short_description":79,"active_installs":80,"downloaded":81,"rating":47,"num_ratings":82,"last_updated":83,"tested_up_to":26,"requires_at_least":26,"requires_php":27,"tags":84,"homepage":34,"download_link":89,"security_score":9,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"customized-wysiwyg-editor-page-widths","Customized WYSIWYG Editor Page Widths","1.0","\u003Cp>The current admin WYSIWYG editor will expand to the size of your monitor.  On modern monitors that can be very wide and as a result your content will stretch out beyond the normal bounds.  The current solution is to minimize your window until the editor is about the right size.  But depending on the width of other elements and sections this can create an unusable workspace in the admin section.\u003C\u002Fp>\n\u003Cp>This plugin adds the ability to enforce a maximum page width in the WYSIWYG editor for a more realistic content window that matches your blog\u002Fsite layout. Widths, in pixels, are configurable per each custom post type that supports an editor. So you can define a max width for blog posts, pages, content molecules (see: https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fcontent-molecules\u002F) along with any other registered custom post type from any other plugin. Or you can leave them blank to have a full width editor in the admin interface.\u003C\u002Fp>\n\u003Cp>This gives you or your content creators a realistic view of how the text will wrap on the front end of your website. This improves the readability of your content by ensuring your paragraphs are not giant blocks of text.\u003C\u002Fp>\n\u003Cp>This plugin will only affect the WYSIWYG Visual Tab. Your HTML source code will always use the full available screen real estate. It also uses proper CSS inclusion for page width styles for plugins that enable multiple stylesheet joining and compression meaning your server won’t make another costly request just for this resource.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","Enforces a maximum page width per post type in the WYSIWYG Visual editor so content will wrap according to the design of the front end.",50,10110,1,"2011-11-16T01:17:00.000Z",[85,52,86,87,88],"custom-post-types","margin","page-width","wysiwyg","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustomized-wysiwyg-editor-page-widths.zip",{"slug":91,"name":92,"version":93,"author":5,"author_profile":6,"description":94,"short_description":95,"active_installs":96,"downloaded":97,"rating":36,"num_ratings":36,"last_updated":98,"tested_up_to":26,"requires_at_least":26,"requires_php":27,"tags":99,"homepage":34,"download_link":104,"security_score":9,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"content-molecules","Content Molecules","1.3","\u003Cp>In the web marketing\u002Fpublishing industry a content molecule is basically a piece of reusable content that can be placed throughout a website.  Typically isolated in nature, they often appear in sidebars and margins.  Applying this concept to the WordPress framework, you can create content that can be embedded anywhere shortcodes are processed.  Taking the concept a little further, any number of custom attributes can be added to the usage of the shortcode, and those values can be embedded in the resulting output.\u003C\u002Fp>\n\u003Cp>[m id=”slug” audience=”Student” product=”backpack”]\u003C\u002Fp>\n\u003Cp>Will translate the following molecule:\u003C\u002Fp>\n\u003Cp>Greetings {audience}!\u003Cbr \u002F>\nCheck out our new {product} today!\u003C\u002Fp>\n\u003Cp>into this:\u003C\u002Fp>\n\u003Cp>Greetings Student!\u003Cbr \u002F>\nCheck out our new backpack today!\u003C\u002Fp>\n\u003Cp>Obviously a ridiculous example, but the flexibility remains the same regardless of the silly intent.  Stop repeating content throughout your site only to have to re-edit those pieces in every location when you need to make a correction or update.\u003C\u002Fp>\n\u003Cp>Molecules are a custom post type.  After the plugin is activated a new section will appear in the left admin menu titled “Molecules.”  There you can create and manage reusable pieces of content.  As a bonus I have added the post slug to the list view for easy reference.  If you embed a molecule in a post or page and the slug does not exist yet, it will create  a draft for you to fill in later.\u003C\u002Fp>\n\u003Cp>That’s about it for now, any input for future features is welcome.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","Enables the creation of reusable and dynamic content that can be embedded throughout the Wordpress platform via shortcodes.",10,2605,"2012-04-14T06:00:00.000Z",[30,100,101,102,103],"custom-content","dynamic-content","page","posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontent-molecules.zip"]