Skip to content

Plugin WordPress pour la création de pages en bulk

Notifications You must be signed in to change notification settings

effi10/effi-page-creator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

effi Page Creator

WordPress PHP License

Un plugin WordPress permettant de créer des pages en masse avec une hiérarchie automatique en utilisant une syntaxe markdown simplifiée.

✨ Fonctionnalités

  • 🚀 Création en masse : Créez plusieurs pages d'un coup
  • 🏗️ Hiérarchie automatique : Gestion automatique des relations parent/enfant
  • 📝 Syntaxe markdown : Interface simple et intuitive
  • 🔧 Slug personnalisé ou automatique : Contrôlez vos URLs ou laissez WordPress les générer
  • 📄 Brouillons ou publication : Choisissez le statut de vos pages
  • 🎯 Interface intuitive : Intégré dans l'administration WordPress
  • 🔒 Sécurisé : Protection CSRF, validation des données, vérification des permissions

📋 Prérequis

  • WordPress 5.0 ou supérieur
  • PHP 7.4 ou supérieur
  • Permissions d'administration WordPress

🚀 Installation

Installation manuelle

  1. Téléchargez le plugin depuis GitHub
  2. Décompressez l'archive dans le dossier /wp-content/plugins/
  3. Activez le plugin via l'interface d'administration WordPress

Structure des fichiers

effi-page-creator/
├── effi-page-creator.php          # Fichier principal du plugin
├── assets/
│   ├── admin.js                   # Scripts JavaScript
│   └── admin.css                  # Styles CSS
└── README.md                      # Documentation

📖 Utilisation

Accès à l'interface

  1. Connectez-vous à votre administration WordPress
  2. Allez dans Outils > Page Creator
  3. Vous arrivez sur l'interface de création de pages

Syntaxe markdown

Le plugin utilise une syntaxe markdown simplifiée basée sur les niveaux de titre :

# Page racine [slug-personnalise]
## Page enfant [slug-enfant]
### Page petit-enfant
#### Page arrière-petit-enfant

Niveaux supportés

  • # - Niveau 1 (page racine)
  • ## - Niveau 2 (enfant de niveau 1)
  • ### - Niveau 3 (enfant de niveau 2)
  • #### - Niveau 4 (enfant de niveau 3)
  • ##### - Niveau 5 (enfant de niveau 4)
  • ###### - Niveau 6 (enfant de niveau 5)

Formats acceptés

Avec slug personnalisé :

# Titre de la page [mon-slug-personnalise]

Sans slug (génération automatique) :

# Titre de la page

Exemple complet

# Guide Complet de la Rénovation de Maison [guide-renovation-maison]
## Budget et Prix de la Rénovation
### Coût Rénovation Maison 100m2 [cout-renovation-100m2]
### Coût Rénovation Maison 150m2
## Étapes et Planification d'une Rénovation [etapes-renovation]
### Diagnostic et État des Lieux
### Gros Œuvre et Structure
#### Fondations et Murs Porteurs
#### Toiture et Charpente

Résultat :

  • Page racine : "Guide Complet de la Rénovation de Maison" (slug: guide-renovation-maison)
    • Enfant : "Budget et Prix de la Rénovation" (slug: budget-et-prix-de-la-renovation)
      • Petit-enfant : "Coût Rénovation Maison 100m2" (slug: cout-renovation-100m2)
      • Petit-enfant : "Coût Rénovation Maison 150m2" (slug: cout-renovation-maison-150m2)
    • Enfant : "Étapes et Planification d'une Rénovation" (slug: etapes-renovation)
      • Petit-enfant : "Diagnostic et État des Lieux" (slug: diagnostic-et-etat-des-lieux)
      • Petit-enfant : "Gros Œuvre et Structure" (slug: gros-oeuvre-et-structure)
        • Arrière-petit-enfant : "Fondations et Murs Porteurs" (slug: fondations-et-murs-porteurs)
        • Arrière-petit-enfant : "Toiture et Charpente" (slug: toiture-et-charpente)

Options disponibles

  • Créer des brouillons : Cochez cette option pour créer les pages en statut "brouillon" au lieu de "publié"

🖥️ Interface

L'interface du plugin comprend :

  1. Zone de texte multiligne : Pour saisir votre contenu markdown
  2. Case à cocher : "Créer des brouillons"
  3. Bouton "Générer les pages" : Lance la création
  4. Aide contextuelle : Rappel de la syntaxe
  5. Résultats détaillés : Affichage des pages créées avec liens d'édition

⚙️ Fonctionnalités techniques

Sécurité

  • Protection CSRF : Utilisation de nonces WordPress
  • Validation des permissions : Vérification des droits utilisateur
  • Sanitisation des données : Nettoyage de toutes les entrées
  • Prévention d'accès direct : Protection des fichiers PHP

Génération automatique des slugs

Quand aucun slug n'est spécifié, le plugin utilise sanitize_title() de WordPress pour :

  • Supprimer les caractères spéciaux
  • Convertir en minuscules
  • Remplacer les espaces par des tirets
  • Gérer les accents (é → e, ç → c, etc.)
  • Supprimer les caractères non-ASCII

Exemples :

  • "Guide Complet & Détaillé" → guide-complet-detaille
  • "Coût 100m² à Paris" → cout-100m2-a-paris
  • "FAQ - Questions/Réponses" → faq-questions-reponses

Performance

  • Traitement AJAX : Interface non-bloquante
  • Validation côté client : Vérifications préliminaires en JavaScript
  • Gestion d'erreurs : Retours détaillés en cas de problème

🔧 Développement

Structure du code

  • Classe principale : EffiPageCreator
  • Hooks WordPress : admin_menu, admin_enqueue_scripts, wp_ajax_*
  • Méthodes principales :
    • add_admin_menu() : Ajoute le menu admin
    • admin_page() : Affiche l'interface
    • ajax_create_pages() : Traite les requêtes AJAX
    • create_pages_from_content() : Logique de création des pages
    • parse_line() : Analyse la syntaxe markdown

Personnalisation

Le plugin peut être étendu en modifiant :

  • Niveaux maximum : Changez #{1,6} dans les regex pour supporter plus de niveaux
  • Statuts de pages : Ajoutez d'autres statuts que "draft" et "publish"
  • Types de contenu : Modifiez pour créer des custom post types

🐛 Résolution de problèmes

Erreurs communes

"Format invalide"

  • Vérifiez que chaque ligne commence par #, ##, etc.
  • Assurez-vous qu'il y a un espace après les #
  • Les crochets [] doivent être bien fermés si utilisés

"Erreur de création de page"

  • Vérifiez vos permissions WordPress
  • Contrôlez que le slug n'existe pas déjà
  • Vérifiez les limites de votre hébergement

"Erreur de sécurité"

  • Actualisez la page et réessayez
  • Videz le cache si vous en utilisez un

Débogage

Pour activer les logs de débogage WordPress :

// Dans wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

📝 Changelog

v1.0.1

  • Support des slugs optionnels

v1.0.0

  • Version initiale
  • Création de pages hiérarchiques
  • Interface d'administration
  • Sécurité et validation
  • Interface responsive

🤝 Contribution

Les contributions sont les bienvenues ! Pour contribuer :

  1. Forkez le projet
  2. Créez votre branche feature (git checkout -b feature/AmazingFeature)
  3. Committez vos changements (git commit -m 'Add some AmazingFeature')
  4. Poussez vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrez une Pull Request

📄 Licence

Ce projet est sous licence GPL v2 ou supérieure. Voir le fichier LICENSE pour plus de détails.

👨‍💻 Auteur

Développé avec ❤️ pour la communauté WordPress.

🆘 Support

Si vous rencontrez des problèmes ou avez des questions :

  1. Vérifiez la section Résolution de problèmes
  2. Consultez les Issues GitHub
  3. Créez une nouvelle issue si nécessaire

⭐ Si ce plugin vous est utile, n'hésitez pas à lui donner une étoile sur GitHub !

About

Plugin WordPress pour la création de pages en bulk

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors