Extension WordPress permettant de convertir un article en page et une page en article en un clic.
Fonctionnalités
| Fonctionnalité | Description |
|---|---|
| Row action | Lien « Convertir en page / article » dans la liste des articles et pages |
| Metabox | Bouton dans l’éditeur classique et Gutenberg (panneau latéral) |
| Actions groupées | Convertir plusieurs articles/pages en une seule opération |
| Confirmation | Boîte de dialogue avant chaque conversion |
| Sauvegarde | Les données spécifiques (catégories, template…) sont sauvegardées en meta |
| Notices | Messages de succès/erreur après conversion |
Installation
- Copier le dossier
convert-post-page/danswp-content/plugins/ - Activer l’extension depuis Extensions → Extensions installées
Comment ça marche
Article → Page
- L’article est converti en page (
post_type = page) - Les catégories et tags sont détachés (ils n’existent pas pour les pages par défaut)
- Le template par défaut est assigné
- Les données originales (catégories, tags) sont sauvegardées dans la meta
_cpp_last_conversion_backup
Page → Article
- La page est convertie en article (
post_type = post) - Les attributs de page (template, page parent, ordre) sont réinitialisés
- Si aucune catégorie n’est assignée, la catégorie par défaut est utilisée
- Les données originales (template, hiérarchie) sont sauvegardées
Hooks disponibles
// Déclenché après une conversion réussie
do_action( 'cpp_after_convert', $post_id, $target_type, $old_type );
Exemple d’utilisation :
add_action( 'cpp_after_convert', function( $post_id, $new_type, $old_type ) {
// Votre logique personnalisée
error_log( "Post $post_id converti de $old_type vers $new_type" );
}, 10, 3 );
Permissions
Seuls les utilisateurs ayant la capacité edit_post sur un contenu peuvent le convertir (éditeurs, administrateurs).
Structure des fichiers
convert-post-page/
├── convert-post-page.php ← Fichier principal (en-tête, hooks globaux)
├── includes/
│ ├── class-converter.php ← Logique de conversion + AJAX handler
│ ├── class-row-action.php ← Liens dans les listes admin
│ ├── class-metabox.php ← Metabox éditeur
│ └── class-bulk-action.php ← Actions groupées
├── assets/
│ ├── admin.css ← Styles administration
│ └── admin.js ← Confirmation + AJAX côté client
└── README.md
Compatibilité
- WordPress 5.5+
- PHP 7.4+
- Compatible éditeur classique et Gutenberg