[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fpSsUZPncU5BmVshgpn-tqreocsU2h-Zg5r-nrzBIVTo":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":24,"download_link":25,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":35,"analysis":126,"fingerprints":168},"truncate-text","Truncate Text","1.0.3","WebPro","https:\u002F\u002Fprofiles.wordpress.org\u002Fnchisley\u002F","\u003Cp>Truncate Text lets you shorten long strings of text in posts, pages, or custom content. Ideal for trimming usernames, crypto wallet addresses, or any lengthy content, it offers flexible options to control exactly how and where the text is truncated.\u003C\u002Fp>\n\u003Cp>Check out our other awesome plugins: \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadmin-hero\" rel=\"ugc\">Admin Hero\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadmin-shift\" rel=\"ugc\">Admin Shift\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Use the \u003Ccode>[truncate-text]\u003C\u002Fcode> shortcode to truncate text in your post or page content.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[truncate-shortcode]\u003C\u002Fcode> shortcode to process nested shortcodes before truncating.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Optional Attributes\u003C\u002Fh3>\n\u003Cp>These attributes work with both shortcodes:\u003Cbr \u002F>\n– \u003Cstrong>\u003Ccode>limit\u003C\u002Fcode>\u003C\u002Fstrong>: Set the number of characters to display (default: 6).\u003Cbr \u002F>\n  Example: \u003Ccode>[truncate-text limit=\"8\"]0x8755B12f034ee7b2383fCF5E849201C71622CC44[\u002Ftruncate-text]\u003C\u002Fcode> \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> \u003Ccode>0x8755B1...1622CC44\u003C\u002Fcode>\u003Cbr \u002F>\n– \u003Cstrong>\u003Ccode>encoding\u003C\u002Fcode>\u003C\u002Fstrong>: Specify the text encoding (default: UTF-8).\u003Cbr \u002F>\n  Example: \u003Ccode>[truncate-text encoding=\"ISO-8859-1\"]text[\u002Ftruncate-text]\u003C\u002Fcode>\u003Cbr \u002F>\n– \u003Cstrong>\u003Ccode>location\u003C\u002Fcode>\u003C\u002Fstrong>: Choose where to truncate: “start”, “middle” (default), or “end”.\u003Cbr \u002F>\n  Examples:\u003Cbr \u002F>\n  – \u003Ccode>[truncate-text location=\"start\"]0x8755B12f034ee7b2383fCF5E849201C71622CC44[\u002Ftruncate-text]\u003C\u002Fcode> \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> \u003Ccode>...1622CC44\u003C\u002Fcode>\u003Cbr \u002F>\n  – \u003Ccode>[truncate-text location=\"middle\"]0x8755B12f034ee7b2383fCF5E849201C71622CC44[\u002Ftruncate-text]\u003C\u002Fcode> \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> \u003Ccode>0x8755...22CC44\u003C\u002Fcode>\u003Cbr \u002F>\n  – \u003Ccode>[truncate-text location=\"end\"]0x8755B12f034ee7b2383fCF5E849201C71622CC44[\u002Ftruncate-text]\u003C\u002Fcode> \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> \u003Ccode>0x8755...\u003C\u002Fcode>\u003Cbr \u002F>\n– \u003Cstrong>\u003Ccode>dots\u003C\u002Fcode>\u003C\u002Fstrong>: Set the number of dots in the ellipsis (default: 3).\u003Cbr \u002F>\n  Examples:\u003Cbr \u002F>\n  – \u003Ccode>[truncate-text location=\"end\" dots=\"10\"]0x8755B12f034ee7b2383fCF5E849201C71622CC44[\u002Ftruncate-text]\u003C\u002Fcode> \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> \u003Ccode>0x8755..........\u003C\u002Fcode>\u003Cbr \u002F>\n  – \u003Ccode>[truncate-text location=\"middle\" dots=\"5\"]0x8755B12f034ee7b2383fCF5E849201C71622CC44[\u002Ftruncate-text]\u003C\u002Fcode> \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> \u003Ccode>0x8755.....22CC44\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>Nested Shortcode Example\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>[truncate-shortcode limit=\"6\" location=\"end\" dots=\"4\"][another-shortcode][\u002Ftruncate-shortcode]\u003C\u002Fcode>\u003Cbr \u002F>\nProcesses the inner shortcode first, then truncates the result.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>If you have questions or issues, please reach out through our support channel at \u003Ca href=\"https:\u002F\u002Fnatechisley.com\" rel=\"nofollow ugc\">NateChisley.com\u003C\u002Fa>. We’re happy to assist!\u003C\u002Fp>\n\u003Ch3>Contributing\u003C\u002Fh3>\n\u003Cp>We welcome contributions! Please follow our guidelines for contributing at \u003Ca href=\"https:\u002F\u002Fnatechisley.com\" rel=\"nofollow ugc\">NateChisley.com\u003C\u002Fa>.\u003C\u002Fp>\n","Truncate Text lets you shorten long strings of text in posts, pages, or custom content.",10,1449,100,2,"2025-05-18T18:12:00.000Z","6.8.5","5.0","7.2",[20,21,22,23,4],"content-formatting","shorten-text","text-truncation","truncate","https:\u002F\u002FNateChisley.com\u002Fwordpress-plugins\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftruncate-text.1.0.3.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":13,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"nchisley",30,94,"2026-04-04T06:47:39.878Z",[36,56,74,91,108],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":11,"downloaded":44,"rating":13,"num_ratings":45,"last_updated":46,"tested_up_to":47,"requires_at_least":17,"requires_php":48,"tags":49,"homepage":54,"download_link":55,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"click-to-read-more-button","Read More Button  – Expand Content Without Refresh","1.0.4","Jose Varghese","https:\u002F\u002Fprofiles.wordpress.org\u002Fjosevarghese\u002F","\u003Cp>The \u003Cstrong>Read More Button\u003C\u002Fstrong> plugin is the ultimate solution for managing long content on your WordPress site. Whether you have lengthy blog posts, detailed product descriptions, or extensive service pages, this \u003Cstrong>content expander\u003C\u002Fstrong> tool allows you to keep your layout clean and user-friendly.\u003C\u002Fp>\n\u003Cp>By adding a customizable \u003Cstrong>read more button\u003C\u002Fstrong>, you can \u003Cstrong>truncate text\u003C\u002Fstrong> after a specific number of lines, encouraging users to click to \u003Cstrong>expand content\u003C\u002Fstrong>. This improves the user experience by preventing large blocks of text from overwhelming your visitors. The best part? The content expands instantly \u003Cstrong>without refresh\u003C\u002Fstrong>, ensuring a seamless reading experience.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why Use a Read More Plugin?\u003C\u002Fstrong>\u003Cbr \u002F>\nImproving readability is key to retaining visitors. A \u003Cstrong>read more tag\u003C\u002Fstrong> or button ensures that your users see the most important information first. This \u003Cstrong>expand text\u003C\u002Fstrong> functionality is perfect for mobile users who prefer scrolling through concise summaries before diving into deep content.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Customizable Read More Button\u003C\u002Fstrong>: Style your \u003Cstrong>show more\u003C\u002Fstrong> button to match your theme.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Content Truncation\u003C\u002Fstrong>: Automatically \u003Cstrong>limit posts\u003C\u002Fstrong> and pages by line count.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Instant Expansion\u003C\u002Fstrong>: Smoothly \u003Cstrong>reveal text\u003C\u002Fstrong> and \u003Cstrong>show hidden content\u003C\u002Fstrong> \u003Cstrong>without page reload\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO Friendly\u003C\u002Fstrong>: Hidden content remains accessible to search engines.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Exclusion Options\u003C\u002Fstrong>: Exclude specific pages\u002Fposts by ID\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Type Selection\u003C\u002Fstrong>: Choose which post types to apply the functionality to\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Content Control\u003C\u002Fstrong>: Set after how many lines the button should appear\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Button Text\u003C\u002Fstrong>: Change the button text to match your site’s tone\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Public CPT Support\u003C\u002Fstrong>: Works with all public custom post types\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Performance Optimized\u003C\u002Fstrong>: Lightweight code that only loads where needed\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Perfect for:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Blog posts with long content\u003C\u002Fli>\n\u003Cli>Product descriptions\u003C\u002Fli>\n\u003Cli>Service pages\u003C\u002Fli>\n\u003Cli>News articles\u003C\u002Fli>\n\u003Cli>Any content where you want to improve readability and user engagement\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Easy Setup:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Install and activate the plugin\u003C\u002Fli>\n\u003Cli>Go to Settings > Read More Button\u003C\u002Fli>\n\u003Cli>Configure your preferences (colors, text, line count, post types)\u003C\u002Fli>\n\u003Cli>The button will automatically appear on your selected content types\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Love using this plugin? Please consider \u003Ca href=\"https:\u002F\u002Fsuperwebshare.com\u002Fread-more-plugin-donate\" rel=\"nofollow ugc\">donating\u003C\u002Fa> to support its development.\u003C\u002Fp>\n\u003Ch3>Developer Information\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Technical Details:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Uses WordPress coding standards and security practices\u003Cbr \u002F>\n* All data properly sanitized and escaped\u003Cbr \u002F>\n* Follows WordPress plugin guidelines\u003Cbr \u002F>\n* Uses proper enqueue methods for scripts and styles\u003Cbr \u002F>\n* Implements WordPress hooks and filters correctly\u003Cbr \u002F>\n* Translation ready with proper text domain\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Hooks and Filters:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>click_to_read_more_button_content_filter\u003C\u002Fcode> – Filter the content before applying read more functionality\u003Cbr \u002F>\n* \u003Ccode>click_to_read_more_button_button_text\u003C\u002Fcode> – Filter the button text\u003Cbr \u002F>\n* \u003Ccode>click_to_read_more_button_should_show\u003C\u002Fcode> – Filter to control where the button should appear\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Support:\u003C\u002Fstrong>\u003Cbr \u002F>\nFor support and feature requests, please contact the plugin author or submit issues through the WordPress.org support forums.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Donate:\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fsuperwebshare.com\u002Fread-more-plugin-donate\" rel=\"nofollow ugc\">Donate Here\u003C\u002Fa>\u003C\u002Fp>\n","Easily add a customizable Read More button to expand long posts. Reveal hidden content automatically and smoothly without a page refresh.",388,1,"2026-02-09T23:26:00.000Z","6.9.4","7.4",[50,51,52,53,4],"excerpt","expand-content","read-more","show-more","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fclick-to-read-more-button.1.0.4.zip",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":13,"num_ratings":14,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":54,"tags":69,"homepage":71,"download_link":72,"security_score":73,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"pm-truncated-recent-posts","Truncate Recent Posts Titles","1.0","pmclain","https:\u002F\u002Fprofiles.wordpress.org\u002Fpmclain\u002F","\u003Cp>Maintain layout formatting when post titles are too long. Plugin allows admin to set maximum title characters and define truncation padding.\u003C\u002Fp>\n","Recent Posts Widget with truncated post titles.",20,1694,"2016-11-30T05:36:00.000Z","4.7.32","4.3.1",[70,23],"recent-posts-widget","https:\u002F\u002Fpmclain.com\u002Ftruncated-recent-posts-widget-for-wordpress.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpm-truncated-recent-posts.zip",85,{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":11,"downloaded":82,"rating":26,"num_ratings":26,"last_updated":83,"tested_up_to":84,"requires_at_least":85,"requires_php":54,"tags":86,"homepage":89,"download_link":90,"security_score":73,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"content-sectioner","Content Sectioner","1.0.0","Kirk Bowers","https:\u002F\u002Fprofiles.wordpress.org\u002Fkirkbowers\u002F","\u003Cp>Most modern websites have pages that break the content into multiple sections, with changing background colors and graphics marking the breaks between sections.  In order for a page to be broken into sections, typically there needs to be additional markup within the HTML (ie. \u003Ccode>div\u003C\u002Fcode> tags) that can be targeted in the stylesheet for formatting.  However, most content authors don’t want to think about techie stuff like \u003Ccode>div\u003C\u002Fcode> tags, and prefer to work in the Visual editor which only provides for semantic markup (“Paragraph”, “Heading 1”, etc.).\u003C\u002Fp>\n\u003Cp>Content Sectioner takes advantage of WordPress’s content filtering mechanism and makes it easy for a theme developer to insert the necessary sectioning markup auto-magically while allowing content authors to still work as they prefer.  It looks for specified landmarks within the content (such as \u003Ccode>h3\u003C\u002Fcode> tags) and performs the necessary code insertions or replacements.  It does this using a concise and easy-to-use notation, relieving the theme developer from having to write (often repetitive) regular expressions and string manipulation.\u003C\u002Fp>\n\u003Ch4>A concrete example\u003C\u002Fh4>\n\u003Cp>Suppose you’re working on a site and you want the About page (with slug \u003Ccode>about\u003C\u002Fcode>) to have an inset in the middle of it with a blue background setting it apart.  The inset should contain the first occurence of a “Heading 3” and all the paragraphs up until just before the next “Heading 2”.  The stylesheet will apply the changing background to elements with the selector \u003Ccode>.inset\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Assuming your \u003Ccode>index.php\u003C\u002Fcode> file contains something like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\n\n  $current_slug = get_queried_object()->post_name;\n\n  get_template_part('content', $current_slug);\n\n?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then in the file \u003Ccode>content-about.php\u003C\u002Fcode>, you can set up the Content Sectioner like so:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\n\n  $sectioner = new ContentSectioner();\n\n  $sectioner->replace_first(\n    array(\n      'open_tag' => 'h3',\n      'open_insert' => '\u003Cdiv class=\"inset\">',\n      'open_policy' => 'before',\n      'close_tag' => 'h2',\n      'close_insert' => '\u003C\u002Fdiv>',\n      'close_policy' => 'before'\n    )\n  );\n\n  \u002F\u002F Do the usual Loop thing here...\n?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The About page (and only the About page) will have this inset section inserted.\u003C\u002Fp>\n\u003Cp>You can provide replacement rules that replace\u002Finsert at the first occurrence of a match, the next occurrence, all remaining occurrences, or all occurrences in the entire piece of content.  You can place the inserted HTML before or after a match, or replace the match.  Also, you can match a closing tag by simply providing the preceding slash character (eg. ‘\u002Fh2’).  Tag matches will match against any variant of a tag (upper or lowercase, with or without attributes, as an opening tag or as a self-closing tag like \u003Ccode>\u003Chr \u002F>\u003C\u002Fcode>).  In the rare case that something other than a tag needs to be matched, you can supply a raw regex instead of a tag.\u003C\u002Fp>\n\u003Ch4>Providing instructions\u003C\u002Fh4>\n\u003Cp>As the theme developer, you likely would want to let the content authors know that this magic insertion of sections will occur, and what landmarks need to be present in their content to trigger the sectioning.\u003C\u002Fp>\n\u003Cp>In some file in your theme that gets loaded for every page (most likely \u003Ccode>functions.php\u003C\u002Fcode>), you can provide such instructions along with the slug for the page to which the instructions apply.  The instructions will appear at the top of the Edit Page page in the admin.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>ContentSectioner::provide_instructions('about', \"\n  A blue background will be placed behind everything starting at the first Heading 3\n  through just before the next Heading 2.\");\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Full User Guide\u003C\u002Fh4>\n\u003Cp>For full documentation and more sample use cases, visit \u003Ca href=\"http:\u002F\u002Fwww.kirkbowers.com\u002Fplugins\u002Fcontent-sectioner\" rel=\"nofollow ugc\">the Content Sectioner homepage\u003C\u002Fa>.\u003C\u002Fp>\n","Content Sectioner is a developer plugin that makes it easy to insert formatting markup (div and img tags) into long pieces of content.",1641,"2016-09-03T21:02:00.000Z","4.6.30","3.1.0",[87,20,88],"content-filtering","developer","http:\u002F\u002Fkirkbowers.com\u002Fplugins\u002Fcontent-sectioner","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontent-sectioner.zip",{"slug":92,"name":93,"version":94,"author":95,"author_profile":96,"description":97,"short_description":98,"active_installs":11,"downloaded":99,"rating":13,"num_ratings":14,"last_updated":100,"tested_up_to":16,"requires_at_least":101,"requires_php":54,"tags":102,"homepage":54,"download_link":107,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"cute-editor-text-divider","Cute Editor Text Divider","1.1","Andy Ken","https:\u002F\u002Fprofiles.wordpress.org\u002Fandykendev\u002F","\u003Cp>Adds a customizable spacing tool to your visual editor—create perfect gaps between content elements with a simple shortcode.\u003C\u002Fp>\n\u003Ch3>Short Description\u003C\u002Fh3>\n\u003Cp>Easily add precise vertical spacing in posts\u002Fpages using a visual editor button and shortcode. Clean design control—no CSS needed!\u003C\u002Fp>\n\u003Ch3>Full Description\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Cute Editor Text Divider\u003C\u002Fstrong> is a lightweight yet powerful WordPress plugin designed for content creators, bloggers, and developers who want full control over vertical spacing in their posts and pages—\u003Cstrong>without writing a single line of CSS\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>With just one click, you can insert a \u003Cstrong>customizable space line\u003C\u002Fstrong> directly into your content using the familiar WYSIWYG editor. Whether you’re looking to separate paragraphs, highlight sections, or fine-tune your page layout, this plugin gives you \u003Cstrong>pixel-perfect control\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch3>🔧 Key Features:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Adds a \u003Cstrong>space line button\u003C\u002Fstrong> to the WordPress visual (TinyMCE) editor\u003C\u002Fli>\n\u003Cli>Supports \u003Cstrong>custom spacing values\u003C\u002Fstrong> (positive & negative)\u003C\u002Fli>\n\u003Cli>Accepts \u003Cstrong>any CSS unit\u003C\u002Fstrong>: px, em, rem, %, pt\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Works with any theme\u003C\u002Fstrong> that supports the standard editor\u003C\u002Fli>\n\u003Cli>Compatible with posts, pages, and widget areas that allow shortcodes\u003C\u002Fli>\n\u003Cli>Lightweight and fast — no extra scripts or bloat\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>✨ Real Use Cases:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Add white space\u003C\u002Fstrong> between text blocks for readability: \u003Ccode>[spaceline height=\"20px\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Separate sections\u003C\u002Fstrong> or images with a clean break: \u003Ccode>[spaceline height=\"50px\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Overlap content\u003C\u002Fstrong> creatively with \u003Cstrong>negative spacing\u003C\u002Fstrong>: \u003Ccode>[spaceline height=\"-15px\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive tweaking\u003C\u002Fstrong> using \u003Ccode>em\u003C\u002Fcode> or \u003Ccode>%\u003C\u002Fcode> units\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>By using this plugin, you can \u003Cstrong>avoid theme limitations\u003C\u002Fstrong>, maintain \u003Cstrong>layout consistency\u003C\u002Fstrong>, and create a more \u003Cstrong>professional, visually appealing\u003C\u002Fstrong> presentation without needing to dig into your theme’s stylesheet.\u003C\u002Fp>\n\u003Cp>Perfect for:\u003Cbr \u002F>\n– Bloggers and writers who care about typography and layout\u003Cbr \u002F>\n– Designers who need control without editing theme files\u003Cbr \u002F>\n– WordPress beginners who want an intuitive visual tool\u003Cbr \u002F>\n– Developers who want clean, reusable spacing logic via shortcode\u003C\u002Fp>\n\u003Cp>Let your content breathe and your layout shine—with \u003Cstrong>Cute Editor Text Divider\u003C\u002Fstrong>, spacing is no longer a problem.\u003C\u002Fp>\n","Adds a customizable spacing tool to your visual editor—create perfect gaps between content elements with a simple shortcode.",484,"2025-05-29T12:25:00.000Z","4.0",[20,103,104,105,106],"line-break","spacing","visual-editor","wysiwyg","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcute-editor-text-divider.1.1.zip",{"slug":109,"name":110,"version":59,"author":111,"author_profile":112,"description":113,"short_description":114,"active_installs":11,"downloaded":115,"rating":26,"num_ratings":26,"last_updated":116,"tested_up_to":117,"requires_at_least":118,"requires_php":54,"tags":119,"homepage":124,"download_link":125,"security_score":73,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"empty-widget-area","Empty Widget Areas","tormorten","https:\u002F\u002Fprofiles.wordpress.org\u002Ftormorten\u002F","\u003Cp>Many times while developing themes for WordPress I had to empty widget areas after cloning a site\u002Fsetting up a site. This started to become annoying. Enter Empty Widget Areas.\u003C\u002Fp>\n\u003Cp>With just a click of a button you can empty the whole widget area and remove all the widgets, giving you a fresh start to your widget life.\u003C\u002Fp>\n","Empty widget areas with the click of a button",1658,"2014-07-22T06:55:00.000Z","3.9.40","3.5",[120,121,122,23,123],"cleanup","delete","empty","widgets","http:\u002F\u002Ftormorten.no","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fempty-widget-area.1.0.zip",{"attackSurface":127,"codeSignals":153,"taintFlows":161,"riskAssessment":162,"analyzedAt":167},{"hooks":128,"ajaxHandlers":141,"restRoutes":142,"shortcodes":143,"cronEvents":152,"entryPointCount":14,"unprotectedCount":26},[129,135],{"type":130,"name":131,"callback":132,"priority":11,"file":133,"line":134},"filter","plugin_row_meta","truncate_add_meta_links","inc\\links.php",15,{"type":136,"name":137,"callback":138,"file":139,"line":140},"action","admin_menu","truncate_text_settings_menu","settings.php",5,[],[],[144,148],{"tag":4,"callback":145,"file":146,"line":147},"truncate_text","truncate-text.php",56,{"tag":149,"callback":150,"file":146,"line":151},"truncate-shortcode","truncate_text_shortcode",95,[],{"dangerousFunctions":154,"sqlUsage":155,"outputEscaping":157,"fileOperations":26,"externalRequests":26,"nonceChecks":26,"capabilityChecks":45,"bundledLibraries":160},[],{"prepared":26,"raw":26,"locations":156},[],{"escaped":158,"rawEcho":26,"locations":159},4,[],[],[],{"summary":163,"deductions":164},"The \"truncate-text\" plugin v1.0.3 demonstrates a generally strong security posture based on the static analysis.  The absence of dangerous functions, SQL queries without prepared statements, unescaped output, file operations, and external HTTP requests are all positive indicators.  The plugin also has a clean vulnerability history with no recorded CVEs, suggesting it has been developed with security in mind or has not been a target. The limited attack surface, consisting of two shortcodes with no explicit authorization checks mentioned for these, is a minor area of attention, but the presence of a capability check is a mitigating factor.\n\nWhile the static analysis reveals no critical security flaws or taint flows, the lack of nonce checks on the identified entry points (shortcodes) is a potential concern. Although no authentication bypasses or permission issues were directly flagged, shortcodes can sometimes be misused if they interact with sensitive data or functions without proper validation.  The fact that there are no AJAX handlers or REST API routes without auth checks is a significant strength. The plugin's vulnerability history is a strong positive, indicating a low likelihood of known exploitable flaws.",[165],{"reason":166,"points":140},"Shortcodes lack explicit nonce checks","2026-03-16T23:48:27.144Z",{"wat":169,"direct":174},{"assetPaths":170,"generatorPatterns":171,"scriptPaths":172,"versionParams":173},[],[],[],[],{"cssClasses":175,"htmlComments":176,"htmlAttributes":177,"restEndpoints":178,"jsGlobals":179,"shortcodeOutput":180},[],[],[],[],[],[4,149]]