Accueil

Référence développeur · WordPress

Websource Page Styles pour WordPress — référence développeur

Clés de page, filtres, variables SCSS, stockage et section de paquet de thème.

Version 1.0.0 · WordPress 6.4+, WooCommerce 8+ (facultatif) · Mis à jour le 09/10/2026

Guide utilisateur

Cette extension existe aussi pour : PrestaShop

Blocs et shortcodes

Aucun : l'extension n'affiche rien, elle charge des feuilles de style. Aucune route REST.

Clés de page

CléPageCondition WordPressFichier du thème (assets/css/pages/)
allToutes les pagestoujours—
indexAccueilis_front_page()home.css
categoryBoutique, catégorie, étiquetteis_shop(), is_product_taxonomy()shop.css
productFiche produitis_product()product.css
cartPanieris_cart()cart.css
checkoutCommandeis_checkout()checkout.css
order-confirmationConfirmationpoint de terminaison order-receivedcheckout.css
authentication, passwordConnexion, mot de passe oubliépage de compte, visiteur non connecté / lost-passwordaccount.css
my-account, history, order-detail, addresses, identityCompte clientpoints de terminaison WooCommerceaccount.css
cmsPages de contenuis_page()page.css
blog, postListes d'articles, articlearchives / is_singular('post')blog.css, post.css
search, pagenotfoundRecherche, 404is_search(), is_404()search.css, 404.css
post-<ID>Un contenu précisis_singular() et identifiant—

Ordre de chargement : CSS de page du thème (repli), all, type de page, post-<ID>. Identifiants des feuilles : wsx-page-<fichier> et wsps-<clé>. Le repli n'est pas chargé si le thème a déjà mis en file wsx-page-<fichier> ou websource-theme-<fichier>.

Filtres

FiltreParamètresRôle
websource_page_styles_currentarray{type:?string,post:?string}Changer les clés de la page en cours.
websource_page_styles_inlineboolForcer ou couper l'inline du CSS de moins de 6 Ko.
websource_page_styles_colorsarray (primary, accent, ink, line)Couleurs des variables -hex.
websource_theme_tokensluSource des couleurs (Websource Theme Config ou le thème).
websource_theme_export, websource_theme_import—Section pagestyles des paquets de thème.
add_filter('websource_page_styles_current', function (array $page) {
    if (is_page_template('landing.php')) {
        $page['type'] = 'index';
    }
    return $page;
});

Variables SCSS

VariableValeur
$brand, $brand-50, $brand-500, $brand-600, $brand-700var(--color-brand-*, repli)
$ink, $line, $page, $surface, $footer, $accentvar(--color-*, repli)
$radius, $radius-2xl, $card-shadowvar(--radius-xl, 1rem), var(--radius-2xl, 1.5rem), var(--wst-card-shadow, none)
$brand-hex, $accent-hex, $ink-hex, $line-hexValeurs fixes, utilisables dans rgba(), darken(), mix()
$bp-sm, $bp-md, $bp-lg, $bp-xl640, 768, 1024, 1280 px
@include rtl { … }, @include ltr { … }Règles réservées à html[dir=rtl] ou à l'inverse

Fonctions publiques

\Websource\PageStyles\Plugin::compiler()->saveSource(get_current_blog_id(), 'product', $scss, true); // renvoie un Style
\Websource\PageStyles\Page\PageCatalog::current(); // ['type' => 'product', 'post' => 'post-12']

Style::getStatus() vaut ok, error ou empty ; getError() donne le message de compilation.

Données et sécurité

ÉlémentEmplacement
Sources SCSS et étatTable {prefix}wsx_page_styles (une ligne par clé).
CSS compiléswp-content/uploads/websource-page-styles/s<site>-<clé>-<empreinte>.css, écriture atomique.
Réglage d'inlineOption wsx_page_styles_inline.
  • Capacité requise : edit_theme_options ; nonce sur chaque formulaire.
  • Compilation avec scssphp 1.13 (fourni dans lib/), sans chemin d'import : un @import ne peut lire aucun fichier du serveur.
  • Sources refusées si elles contiennent une balise, javascript:, expression( ou -moz-binding ; 200 Ko maximum ; </style neutralisé dans le CSS inliné.
  • Recompilation automatique quand l'empreinte change (source, couleurs fixes, version de la bibliothèque).

Section de paquet de thème

{"pagestyles": {"version": 1, "data": {"pages": [{"page": "product", "enabled": true, "source": ".product_title{color:$ink}"}]}}}

En mode « remplacer », les pages absentes du paquet sont vidées. Les styles post-<ID> ne sont ni exportés ni vidés.