WP Manifestindependent plugin directory
manifest / content / effi-page-creator

effi Page Creator

Plugin WordPress pour la création de pages en bulk

★ 2stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/effi10/effi-page-creator/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

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 !