Bloc
| Nom | Rendu | Attributs |
|---|---|---|
websource/account | Serveur (render_callback) | Aucun attribut propre. Prend en charge align (left, center, right). |
<!-- wp:websource/account /-->
Dans l'éditeur, le bloc affiche un aperçu statique du mode « ordinateur ».
Code court
| Code court | Attributs |
|---|---|
[websource_account] | Aucun. |
Fonction publique
echo websource_account_block(); // HTML déjà échappé ; chaîne vide si rien n'est à afficher
Les feuilles de style et les scripts nécessaires sont mis en file au moment du rendu.
Réglages enregistrés
Une seule option, wsx_accountblock_settings (tableau) :
| Clé | Valeurs | Défaut |
|---|---|---|
mode_desktop, mode_mobile | dropdown, simple, push, floating, none | dropdown |
breakpoint | 320 à 1920 | 768 |
display | name, icon | name |
push_side, floating_side | left, right | right |
push_target | sélecteur CSS (120 caractères au plus) | main |
floating_offset | 0 à 300 | 0 |
floating_visibility | logged, always | logged |
placement | replace, header, menu, none | replace (thème à blocs) |
menu_location | identifiant d'un emplacement de menu | vide |
order | liste des identifiants de liens | ordre ci-dessous |
enabled | identifiant => booléen | tout activé |
labels | clé de texte => texte personnalisé | vide |
Identifiants de liens : account, orders, addresses, identity, downloads, payment_methods, wishlist, logout.
Clés de texte : les identifiants de liens, plus login, register, button, close.
Toute valeur absente ou invalide est remplacée par sa valeur par défaut à la lecture.
Filtres
| Filtre | Paramètres | Rôle |
|---|---|---|
wsx_accountblock_links | array $links, Settings $settings | Liste finale des liens du menu client. Chaque lien : ['id' => string, 'label' => string, 'url' => string]. |
wsx_accountblock_link_url | ?string $url, string $linkId | Adresse d'un lien. Renvoyer null masque le lien. |
wsx_accountblock_login_url | string $url | Adresse du lien Connexion. |
wsx_accountblock_register_url | ?string $url | Adresse du lien Créer un compte. null masque le lien. |
wsx_accountblock_label | string $label, string $key | Texte affiché pour une clé. |
wsx_accountblock_auto_place | bool $allow, string $where (replace, header, menu, floating) | Renvoyer false empêche un placement automatique. |
websource_theme_export | array $sections | Ajoute la section accountblock à un paquet de thème Websource. |
websource_theme_import | array $report, array $params | Applique la section accountblock (section, version, data, mode = replace ou merge, dry_run). |
Exemple : ajouter un lien vers une page d'aide.
add_filter('wsx_accountblock_links', function (array $links) {
array_splice($links, -1, 0, [[
'id' => 'help',
'label' => 'Aide',
'url' => home_url('/aide/'),
]]);
return $links;
});
Exemple : fournir l'adresse de la liste d'envies.
add_filter('wsx_accountblock_link_url', function ($url, $id) {
return $id === 'wishlist' ? home_url('/mes-favoris/') : $url;
}, 10, 2);
Actions
| Action | Paramètres | Rôle |
|---|---|---|
websource_social_login | string $place (header) | Tout ce qui est affiché ici apparaît après les liens du visiteur (boutons de connexion sociale). |
Routes REST
L'extension ne déclare aucune route REST. L'aperçu du bloc dans l'éditeur passe par la route native de WordPress GET /wp/v2/block-renderer/websource/account.
Scripts et styles
| Identifiant | Fichier | Chargé quand |
|---|---|---|
wsx-accountblock-front (CSS) | assets/css/front.css | Le bloc est rendu. |
wsx-accountblock-push (CSS, JS) | assets/css/push.css, assets/js/push.js | Le mode push est utilisé (JS : client connecté). |
wsx-accountblock-floating (CSS, JS) | assets/css/floating.css, assets/js/floating.js | Le mode flottant est visible pour ce visiteur. |
wsx-accountblock-front (JS) | assets/js/front.js | Un menu interactif est rendu, ou les modes ordinateur et mobile diffèrent. |
Objet JavaScript public : window.WebsourceAccountBlock.register(mode, factory) enregistre le comportement d'un mode. factory(variant, root) renvoie { setActive(bool) }.
Variables CSS
Les mêmes que le thème Websource, toujours avec une valeur de repli.
| Variable | Rôle | Repli |
|---|---|---|
--color-ink | Couleur du texte | #14282b |
--color-brand-600 | Couleur principale (avatar, bouton, survol) | #0f766e |
--color-brand-50 | Fond au survol, en-tête du volet | #effaf8 |
--color-line | Bordures | #d9e6e4 |
--color-surface | Fond des menus | #fff |
--radius-xl, --radius-2xl | Arrondis | 1rem, 1.5rem |
--wst-card-shadow | Ombre des cartes | ombre douce |
--wsab-push-width | Largeur du volet | min(85vw, 20rem) |
--wsab-float-offset | Marge basse du bouton flottant | valeur du réglage |
Multilingue
- Polylang : chaque texte personnalisé est déclaré par
pll_register_string()(groupe « Websource Account Block ») et traduit parpll__(). - WPML :
wpml-config.xmldéclarewsx_accountblock_settings > labels > *comme textes d'administration.
Emplacements automatiques
| Valeur | Comportement |
|---|---|
replace | Le bloc woocommerce/customer-account est remplacé au rendu (pre_render_block). Sans ce bloc dans l'en-tête, le bloc est inséré après la première balise </nav> de la partie de gabarit d'en-tête. |
header | Le bloc est ajouté après le bloc core/navigation de l'en-tête, y compris quand une autre extension a remplacé ce bloc. |
menu | Le bloc est ajouté en dernier élément (wp_nav_menu_items) de l'emplacement de menu choisi. |
none | Aucun placement. |
Le bouton flottant est ajouté dans wp_footer quand aucun bloc de la page ne l'a déjà affiché.
Écarts avec le module PrestaShop
- Pas de multiboutique.
- « Mes avoirs » et « Mes bons de réduction » n'existent pas dans WooCommerce : ils sont remplacés par « Mes téléchargements » et « Mes moyens de paiement ».
- Les textes personnalisés ne sont pas saisis par langue dans l'écran de réglages : la traduction passe par Polylang ou WPML.