[Résolu] Création de pages automatique (Créer un compte)

  • WordPress :5.8
  • Statut : résolu
2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Messages
  • #2402432
    mumu51
    Participant
    Padawan WordPress
    97 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.3
    • Thème utilisé : Je le fais moi-même
    • Extensions en place : Askimet
    • Nom de l’hébergeur : En local
    • Adresse du site : En local

    Problème(s) rencontré(s) :

    Je développe un thème WordPress pour lequel, à l’activation, des pages sont créées automatiquement.

    Mon code fonctionne bien, sauf pour une page, la dernière « Plan de site »

    J’ai désactivé mon thème, supprimé toutes les pages, activé à nouveau le thème, tout est bien créé, sauf la même à chaque fois et je ne comprends pas pourquoi pour le coup ^^’
    Si quelqu’un a de meilleurs yeux que moi haha ?
    Dans l’attente, bonne journée !

    <?php
    
    if ( !defined('ABSPATH') ){
    	define( 'ABSPATH', dirname(__FILE__, 5) . '/' );
    }
    require_once(ABSPATH . 'wp-load.php');
    global $wpdb;
    
    class InitializePages {
    
    	public static function registerPage(){
    		add_action('admin_init', [self::class, 'addPages']);
    	}
    
    	public static function addPages(){
    
    		$pages = array(
    			array(
    	            'name'  => 'Home',
    	            'title' => 'Accueil',
    	            'menu_order' => 0,
    	            'post_content' => ''
    	        ),
    	        array(
    	            'name'  => 'About',
    	            'title' => 'À propos',
    	            'menu_order' => 1,
    	            'post_content' => '',
    	        ),
    	        array(
    	            'name'  => 'Portfolio',
    	            'title' => 'Portfolio',
    	            'menu_order' => 2,
    	            'post_content' => '',
    	        ),
    	        array(
    		        'name' => 'Ressources',
    		        'title' => 'Ressources',
    		        'menu_order' => 3,
    		        'child' => array(
    		            'ressources-icones' => array('title' => 'Icônes'),
    		            'ressources-snippets' => array('title' => 'Snippets'),
    		        ),
    		        'post_content' => '',
    		    ),
    		    array(
    		        'name' => 'Contacts',
    		        'title' => 'Contacts',
    		        'menu_order' => 4,
    		        'post_content' => '',
    		    ),
    		    array(
    		        'name' => 'Sitemap',
    		        'title' => 'Plan du site',
    		        'menu_order' => 5,
    		        'post_content' => '',
    		    ),
    	    );
    
    	    $template = array(
    	        'post_type'   => 'page',
    	        'post_status' => 'publish',
    	        'post_author' => 1
    	    );
    
        	foreach( $pages as $page ) {
    	        $exists = get_page_by_title( $page['title'] );
    
    	        $my_page = array(
    	            'post_name'  => $page['name'],
    	            'post_title' => $page['title'],
    	            'menu_order' => $page['menu_order'],
    	            'post_content' => $page['post_content'],
    	        );
    	        $my_page = array_merge( $my_page, $template );
    
    	        $id = ( $exists ? $exists->ID : wp_insert_post( $my_page ) );
    
    	        if( isset( $page['child'] ) ) {
    	            foreach( $page['child'] as $pChild => $child){
    	            	foreach( $child as $key => $value ){
    
    		                $child_id = get_page_by_title( $child['title'] );
    		                $child_page = array(
    		                    'post_name'   => $pChild,
    		                    'post_title'  => $child['title'],
    		                    'post_parent' => $id
    		                );
    		                $child_page = array_merge( $child_page, $template );
    		                if( !isset( $child_id ) ) wp_insert_post( $child_page );
    
    	               	}
    
    	            }
    	        }
        	}
    	}
    }

    #2402433
    mumu51
    Participant
    Padawan WordPress
    97 contributions

    Haha ! En fait, je n’avais pas fait attention que je n’éditais pas le bon fichier !
    Bon bah ça vous fait un snippet gratuit 🙂

    • Cette réponse a été modifiée le il y a 6 jours et 2 heures par mumu51.
2 sujets de 1 à 2 (sur un total de 2)
  • Vous devez être connecté pour répondre à ce sujet.