{"id":378629,"date":"2026-10-01T11:10:17","date_gmt":"2026-10-01T11:10:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/presetscope\/"},"modified":"2026-10-01T11:09:47","modified_gmt":"2026-10-01T11:09:47","slug":"presetscope","status":"publish","type":"plugin","link":"https:\/\/tw.wordpress.org\/plugins\/presetscope\/","author":20291150,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Presetscope","header_author":"Rahul Tank","header_description":"A read-only Tools screen that shows the merged theme.json settings, presets, styles and generated CSS of the active theme.","assets_banners_color":"40817d","last_updated":"2026-10-01 11:09:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/rahultank\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":48,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"rahultank","date":"2026-10-01 11:09:47","revision":3722946}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3722946,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3722946,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3722946,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3722946,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[213218,68566,2275,201279,205718],"plugin_category":[],"plugin_contributors":[283620],"plugin_business_model":[],"class_list":["post-378629","plugin","type-plugin","status-publish","hentry","plugin_tags-block-themes","plugin_tags-css-variables","plugin_tags-developer","plugin_tags-global-styles","plugin_tags-theme-json","plugin_contributors-rahultank","plugin_committers-rahultank"],"banners":{"banner":"https:\/\/ps.w.org\/presetscope\/assets\/banner-772x250.png?rev=3722946","banner_2x":"https:\/\/ps.w.org\/presetscope\/assets\/banner-1544x500.png?rev=3722946","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/presetscope\/assets\/icon-128x128.png?rev=3722946","icon_2x":"https:\/\/ps.w.org\/presetscope\/assets\/icon-256x256.png?rev=3722946","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>WordPress builds the final theme.json data by merging three layers: core defaults, the active theme (and its parent), and the changes saved in the Site Editor. When a colour, font size or spacing value is not what you expect, it can be hard to see which layer it came from.<\/p>\n\n<p>Presetscope is a theme.json inspector. It adds a screen under <strong>Tools \u2192 Presetscope<\/strong> that shows this merged data:<\/p>\n\n<ul>\n<li><strong>Overview<\/strong> \u2013 the active theme, its parent, whether it is a block theme, the theme.json version of the theme and how many presets it defines.<\/li>\n<li><strong>Presets<\/strong> \u2013 every colour, gradient, font size, font family, spacing size and shadow preset, with its CSS custom property (for example <code>--wp--preset--color--contrast<\/code>), its value, a colour sample and where it comes from (default, theme or custom).<\/li>\n<li><strong>Settings<\/strong> and <strong>Styles<\/strong> \u2013 the merged data as formatted JSON.<\/li>\n<li><strong>Generated CSS<\/strong> \u2013 the global stylesheet WordPress prints on the front end.<\/li>\n<\/ul>\n\n<p>You can switch between the data with and without the Site Editor changes, to see what the theme itself provides.<\/p>\n\n<p>It works with block themes and classic themes.<\/p>\n\n<h4>Read-only<\/h4>\n\n<p>The screen only reads data through WordPress' public functions (<code>wp_get_global_settings()<\/code>, <code>wp_get_global_styles()<\/code> and <code>wp_get_global_stylesheet()<\/code>). It does not change the theme, the Site Editor data or any option, and it stores nothing in the database. Only users who can edit theme options (administrators by default) can see it.<\/p>\n\n<p>Nothing is sent to any external service.<\/p>\n\n<p>Presetscope is an independent project and is not affiliated with or endorsed by the WordPress project.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>presetscope<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Tools \u2192 Presetscope.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20edit%20theme.json%20here%3F\"><h3>Can I edit theme.json here?<\/h3><\/dt>\n<dd><p>No. The screen is read-only. Use your theme files, or the Site Editor's Styles panel, to make changes.<\/p><\/dd>\n<dt id=\"why%20does%20the%20source%20column%20say%20%22default%22%3F\"><h3>Why does the Source column say \"default\"?<\/h3><\/dt>\n<dd><p>Those presets come from WordPress core. \"theme\" means the active theme defines them, and \"custom\" means they were added in the Site Editor.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20classic%20themes%3F\"><h3>Does it work with classic themes?<\/h3><\/dt>\n<dd><p>Yes. Classic themes without a theme.json file show the core defaults that WordPress uses for them.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"See the theme.json settings, presets, styles and generated CSS that WordPress is using for your theme, on one read-only screen.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/378629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=378629"}],"author":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rahultank"}],"wp:attachment":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=378629"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=378629"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=378629"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=378629"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=378629"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=378629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}