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": [] }
      }
    }
  }
}
Path
Type
Purpose

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

Context
Source file
Hook
Notes

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.


Back to Config Index

Last updated