Porter Json
porter/config/porter.json
is the root config that PorterWP reads first. It has three top‑level keys:
version ⇠ cache‑buster
premium ⇠ feature toggles that require the premium plugin
settings ⇠ everything else (theme‑support, public assets, admin assets…)
{
"version": "1.3.0",
"premium": {
"filters": true // enable Premium Filters block assets
},
"settings": {
"theme-support": {
"align-wide": true,
"responsive-embeds": true,
"editor-styles": true
},
"admin": {
"editor_scripts": {
"fontawesome": {
"src": "//kit.fontawesome.com/XXXXXXXX.js",
"args": { "in_footer": true }
}
},
"editor_styles": {
"admin_css": {
"src": "./assets/dist/css/editor.min.css",
"deps": []
}
}
},
"public": {
"scripts": {
"main": {
"src": "./assets/dist/js/main.min.js",
"deps": ["wp-i18n"],
"ver": "1.0.0",
"args": { "in_footer": true, "strategy": "defer" },
"data": { "crossorigin": "anonymous", "async": true }
}
},
"styles": {
"theme": { "src": "./assets/dist/css/theme.min.css", "deps": [] }
}
}
}
}
version
string
Increment to invalidate PorterWP’s object‑cache slice for this file.
premium
object
Feature switches. **Currently only **`` (boolean) is read by Porter_Premium_Features::filters()
.
settings.theme-support
object
Keys forwarded to add_theme_support()
.
settings.admin.editor_scripts
object
Register/enqueue block‑editor‑only scripts. Same schema as public.scripts
.
settings.admin.editor_styles
object
Register/enqueue editor‑only stylesheets.
settings.public.scripts
object
Front‑end scripts (see sample above).
settings.public.styles
object
Front‑end stylesheets.
Enqueue logic cheat‑sheet
Public scripts/styles
includes/porter-config-public.php
wp_enqueue_scripts
Adds <script>
attributes from data
via script_loader_tag
.
Admin scripts/styles
includes/porter-config-admin.php
enqueue_block_editor_assets
, enqueue_block_assets
Only loaded inside the block editor.
Premium Filters
includes/premium-features.php
init
Loads premium PHP classes only if premium.filters
is truthy.
Last updated