{"id":338285,"date":"2026-07-18T03:32:48","date_gmt":"2026-07-18T03:32:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tinymce-custom-text-formatter\/"},"modified":"2026-07-18T03:32:15","modified_gmt":"2026-07-18T03:32:15","slug":"bpotech-text-formatter-with-tinymce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/bpotech-text-formatter-with-tinymce\/","author":23145937,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0.2","requires":"5.0","requires_php":"8.0","requires_plugins":null,"header_name":"BPOTech Text Formatter with TinyMCE","header_author":"BPOTech Team","header_description":"Extend TinyMCE & Gutenberg with custom font weights (100\u2013900 + CSS keywords) and text transform dropdowns. Works standalone with the Classic Editor and Gutenberg Block Editor \u2014 no extra plugins required.","assets_banners_color":"fcfcfe","last_updated":"2026-07-18 03:32:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/bpotech-text-formatter-with-tinymce\/","header_author_uri":"https:\/\/bpotech.com.vn","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"wphuebpo","date":"2026-07-18 03:32:15"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3612167,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3612167,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3612168,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3612167,"resolution":"1","location":"assets","locale":"","width":1896,"height":786},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3612167,"resolution":"2","location":"assets","locale":"","width":1903,"height":788}},"screenshots":{"1":"This menu allows users to quickly change the font-weight of selected text directly within the TinyMCE editor without writing CSS manually.","2":"This menu allows users to quickly transform the letter casing of selected text directly within the TinyMCE editor, making content formatting faster and more consistent."}},"plugin_section":[],"plugin_tags":[155807,53417,1719,5126],"plugin_category":[43,46],"plugin_contributors":[232932],"plugin_business_model":[],"class_list":["post-338285","plugin","type-plugin","status-publish","hentry","plugin_tags-font-weight","plugin_tags-text-transform","plugin_tags-tinymce","plugin_tags-typography","plugin_category-customization","plugin_category-editor-and-writing","plugin_contributors-wphuebpo","plugin_committers-wphuebpo"],"banners":{"banner":"https:\/\/ps.w.org\/bpotech-text-formatter-with-tinymce\/assets\/banner-772x250.png?rev=3612168","banner_2x":"https:\/\/ps.w.org\/bpotech-text-formatter-with-tinymce\/assets\/banner-1544x500.png?rev=3612167","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bpotech-text-formatter-with-tinymce\/assets\/icon-128x128.png?rev=3612167","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bpotech-text-formatter-with-tinymce\/assets\/screenshot-1.png?rev=3612167","caption":"This menu allows users to quickly change the font-weight of selected text directly within the TinyMCE editor without writing CSS manually."},{"src":"https:\/\/ps.w.org\/bpotech-text-formatter-with-tinymce\/assets\/screenshot-2.png?rev=3612167","caption":"This menu allows users to quickly transform the letter casing of selected text directly within the TinyMCE editor, making content formatting faster and more consistent."}],"raw_content":"<!--section=description-->\n<p>BPOTech Text Formatter with TinyMCE is a lightweight WordPress plugin that extends text styling in both the Classic Editor and the Gutenberg Block Editor \u2014 no other plugins required.<\/p>\n\n<p>It adds custom <strong>Font-weight<\/strong> and <strong>Uppercase<\/strong> controls directly to the editor toolbar, giving users granular control over typography without touching any code.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Deep Font Weight Selection<\/strong>: Apply numeric weights (<code>100<\/code> Thin, <code>200<\/code> Extra Light, <code>300<\/code> Light, <code>400<\/code> Regular, <code>500<\/code> Medium, <code>600<\/code> Semi Bold, <code>700<\/code> Bold, <code>800<\/code> Extra Bold, <code>900<\/code> Black) as well as CSS keywords (<code>bold<\/code>, <code>bolder<\/code>, <code>lighter<\/code>, <code>normal<\/code>).<\/li>\n<li><strong>Text Transform Options<\/strong>: Easily apply case rules like UPPERCASE, lowercase, and Capitalize Words on selected text.<\/li>\n<li><strong>Gutenberg Block Editor Support<\/strong>: Works natively inside Gutenberg blocks (Paragraph, Heading, etc.) via <code>registerFormatType<\/code> \u2014 no Classic Block required.<\/li>\n<li><strong>Google Fonts Integration<\/strong>: Load fully-weighted Google Fonts (e.g. Inter, Roboto, Outfit, Montserrat) in both the editor and site front-end.<\/li>\n<li><strong>Post Type Targeting<\/strong>: Enable the toolbar controls only for specific post types (e.g. Posts, Pages, or custom types).<\/li>\n<li><strong>Premium Options Screen<\/strong>: A modern dashboard with visual toggles, checkbox grids, and a live font-weight preview.<\/li>\n<li><strong>Compatible<\/strong>: Works standalone. Optionally compatible with Advanced Editor Tools (TinyMCE Advanced).<\/li>\n<\/ul>\n\n<h3>Third-Party Services<\/h3>\n\n<p>This plugin optionally connects to the <strong>Google Fonts API<\/strong> to load web fonts in the editor and on the front-end of your site. This feature is <strong>disabled by default<\/strong> to ensure GDPR\/privacy compliance, and can be enabled at any time from <strong>Settings \u2192 BPOTech Text Formatter<\/strong> by checking \"Load Google Font stylesheet\".<\/p>\n\n<p>When enabled, your site visitors' browsers will make requests to Google's servers to download font files. This means visitor IP addresses are transmitted to Google.<\/p>\n\n<ul>\n<li><strong>Service:<\/strong> <a href=\"https:\/\/fonts.google.com\/\">Google Fonts<\/a><\/li>\n<li><strong>Terms of Service:<\/strong> <a href=\"https:\/\/developers.google.com\/fonts\/terms\">https:\/\/developers.google.com\/fonts\/terms<\/a><\/li>\n<li><strong>Privacy Policy:<\/strong> <a href=\"https:\/\/policies.google.com\/privacy\">https:\/\/policies.google.com\/privacy<\/a><\/li>\n<\/ul>\n\n<p>If you need to comply with GDPR or similar privacy regulations, keep this feature disabled and self-host your fonts instead.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/bpotech-text-formatter-with-tinymce<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Use the <strong>Settings \u2192 BPOTech Text Formatter<\/strong> menu to configure options, toggle active font weights, and choose toolbar rows.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20support%20gutenberg%3F\"><h3>Does it support Gutenberg?<\/h3><\/dt>\n<dd><p>Yes! The plugin supports Gutenberg natively. It registers custom inline format types (<code>Font-weight<\/code> and <code>Uppercase<\/code>) directly inside the Block Editor toolbar using the <code>registerFormatType<\/code> API \u2014 no Classic Block required.<\/p><\/dd>\n<dt id=\"does%20it%20support%20the%20classic%20editor%3F\"><h3>Does it support the Classic Editor?<\/h3><\/dt>\n<dd><p>Yes. The plugin adds <strong>Font-weight<\/strong> and <strong>Uppercase<\/strong> dropdown buttons to the TinyMCE toolbar when using the Classic Editor plugin.<\/p><\/dd>\n<dt id=\"do%20i%20need%20advanced%20editor%20tools%20%28tinymce%20advanced%29%3F\"><h3>Do I need Advanced Editor Tools (TinyMCE Advanced)?<\/h3><\/dt>\n<dd><p>No. The plugin works completely standalone. If you have Advanced Editor Tools installed, the buttons will also appear there and can be repositioned through its settings panel.<\/p><\/dd>\n<dt id=\"can%20i%20choose%20which%20post%20types%20show%20the%20toolbar%20buttons%3F\"><h3>Can I choose which post types show the toolbar buttons?<\/h3><\/dt>\n<dd><p>Yes. In <strong>Settings \u2192 BPOTech Text Formatter<\/strong>, you can select exactly which post types (Posts, Pages, or any custom post type) should display the formatting controls.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Updated plugin description to reflect standalone Gutenberg support.<\/li>\n<li>Added native Gutenberg Block Editor integration via <code>registerFormatType<\/code>.<\/li>\n<li>Added Post Type targeting \u2014 enable controls per post type.<\/li>\n<li>Fixed Active Font Weight Levels not saving correctly due to PHP integer key casting.<\/li>\n<li>Added <code>uninstall.php<\/code> to clean up all plugin data on deletion.<\/li>\n<li>Fixed admin notice contrast (white-on-white) on settings screen.<\/li>\n<li>Renamed toolbar buttons: \"Weight\" \u2192 \"Font-weight\", \"Case\" \u2192 \"Uppercase\".<\/li>\n<li>Updated tested up to WordPress 7.0.<\/li>\n<li>Extracted inline JavaScript to external enqueued file for CSP compliance.<\/li>\n<li>Added Third-Party Services disclosure for Google Fonts API.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial Release.<\/li>\n<li>Added custom Font Weight and Text Transform dropdowns.<\/li>\n<li>Added standard keywords support (bold, bolder, lighter, normal).<\/li>\n<li>Implemented secure input sanitization and option validation for WordPress Store guidelines.<\/li>\n<\/ul>","raw_excerpt":"Extend TinyMCE &amp; Gutenberg with custom font weights (100\u2013900 + keywords) and text transform options. Works standalone.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/338285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=338285"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wphuebpo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=338285"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=338285"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=338285"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=338285"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=338285"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=338285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}