Download the PHP package undefinedfr/undefined-wp-framework without Composer
On this page you can find all versions of the php package undefinedfr/undefined-wp-framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download undefinedfr/undefined-wp-framework
More information about undefinedfr/undefined-wp-framework
Files in undefinedfr/undefined-wp-framework
Package undefined-wp-framework
Short Description Mini Framework for Wordpress
License GPL-3.0-or-later
Informations about the package undefined-wp-framework
Undefined WP Framework
Mini Framework MVC pour WordPress basé sur Timber/Twig.
Installation
Dans votre functions.php :
Dépendances
- Timber ^2.0
- Extended ACF ^14.2
Structure recommandée
Custom Post Types
Créez vos CPT dans app/PostType/ en étendant PostType :
Options de configuration
| Option | Type | Default | Description |
|---|---|---|---|
singulier |
string | ucfirst(slug) | Nom singulier |
pluriel |
string | singulier + 's' | Nom pluriel |
feminin |
bool | false | Genre féminin (labels FR) |
public |
bool | true | Accessible publiquement |
show_in_rest |
bool | true | API REST & Gutenberg |
menu_icon |
string | null | Dashicon ou SVG |
supports |
array | [...] | Fonctionnalités supportées |
taxonomies |
array | ['post_tag', 'category'] | Taxonomies associées |
rewrite |
string/array | slug | Règles de réécriture |
Custom Taxonomies
Créez vos taxonomies dans app/Taxonomy/ :
Blocs Gutenberg (ACF)
Structure Timber-style (recommandée)
Exemple de bloc
Template Twig
Hooks disponibles
| Hook | Description |
|---|---|
undfnd_block_icon_paths |
Chemins de recherche pour l'icône |
undfnd_block_assets |
Assets CSS/JS du bloc |
undfnd_block_args |
Arguments d'enregistrement du bloc |
undfnd_block_prepared |
Données préparées du bloc |
undfnd_block_field_group |
Groupe de champs ACF |
undfnd_block_preview_template |
Template de preview vide |
Controllers & Routing
Créer un contrôleur
Définir les routes
Méthodes du contrôleur
| Méthode | Description |
|---|---|
render($data) |
Rend le template Twig |
_setTitle($title) |
Définit le titre de la page |
_setData($data, $merge) |
Ajoute des données au contexte |
_redirect($url) |
Redirige vers une URL |
_addNotice($type, $message) |
Ajoute une notification session |
getNotices() |
Récupère les notifications |
isCurrentRoute($route) |
Vérifie la route actuelle |
Request
Gestion des requêtes HTTP inspirée de Symfony :
ParameterBag - Méthodes de sanitization
Actions & Filters
Actions
Filters
Ajax
Appel côté JavaScript
Assets
Cache-busting avec hash.json
Créez public/assets/hash.json pour le versioning :
Hook pour le nom de l'objet localisé
Envoi d'emails avec templates Twig :
Variables globales disponibles
{{ blogname }}- Nom du site{{ home_url }}- URL du site{{ stylesheet_uri }}- URL du thème{{ blogdescription }}- Description du site
Template email
WP-CLI Commands
Usage :
Security
Le module Security désactive automatiquement l'endpoint REST /wp/v2/users pour éviter l'énumération des utilisateurs.
App Singleton
Classe de base pour créer une instance unique de votre application :
Helper global
Hooks & Filtres de référence
Blocs
| Hook | Args | Description |
|---|---|---|
undfnd_acf_blocks_path |
$path |
Chemin des blocs ACF legacy |
undfnd_gutenberg_blocks_path |
$path |
Chemin des blocs Timber |
undfnd_block_namespaces |
$namespaces |
Namespaces de recherche |
undfnd_block_icon_paths |
$paths, $block |
Chemins des icônes |
undfnd_block_assets |
$assets, $block |
Assets du bloc |
undfnd_block_args |
$args, $block |
Args d'enregistrement |
undfnd_block_prepared |
$block, $this |
Block préparé |
undfnd_block_field_group |
$group, $name |
Champs ACF |
CPT & Taxonomies
| Hook | Args | Description |
|---|---|---|
undfnd_cpt_save_post_priority |
$priority, $post_type |
Priorité du hook save |
undfnd_cpt_save_post_accepted_args |
$args, $post_type |
Nombre d'args |
Assets
| Hook | Args | Description |
|---|---|---|
undfnd_hash_assets_path |
$path |
Chemin du fichier hash.json |
undfnd_assets_{handle}_object_name |
$name |
Nom de l'objet JS |
Templating
| Hook | Args | Description |
|---|---|---|
timber_default_options |
$options |
Options par défaut |
timber_global_context_data |
$data |
Données globales |
undfnd_controller_wp_title_action |
$action |
Action pour wp_title |
Licence
GPL-3.0-or-later
Auteur
Nicolas RIVIERE - undefined.fr