Puis-je configurer quelques pages par défaut à créer à chaque création d'un nouveau blog

wordpress.stackexchange https://wordpress.stackexchange.com/questions/1030

  •  16-10-2019
  •  | 
  •  

Question

Les pages comme « sur » sera automatiquement créé lorsqu'un nouveau blog est créé. De même, je besoin d'autres pages qui devrait apparaître automatiquement quand un blog est créé sous mes multisites.

Comment puis-je configurer les pages par défaut à créer un nouveau blog sous un multisite?

Ex .: Si j'ai un multisite sur example.com. Chaque blog créé en vertu du présent site doit avoir Accueil, À propos, Mon magasin, mon adresse.

Était-ce utile?

La solution

Je recommande la création d'une fonction dans votre fichier functions.php que des liens avec le activate_blog crochet d'action. Utilisez les fonctions WordPress get_pages () pour voir si vos pages par défaut existent. Si elles ne le font pas, les créer wp_insert_post .

add_action('activate_blog','my_default_pages');

function my_default_pages(){
    $default_pages = array('About','Home','My Store','My Address');
    $existing_pages = get_pages();

    foreach($existing_pages as $page){
        $temp[] = $page->post_title;
        }


    $pages_to_create = array_diff($default_pages,$temp);

    foreach($pages_to_create as $new_page_title){

            // Create post object
            $my_post = array();
            $my_post['post_title'] = $new_page_title;
            $my_post['post_content'] = 'This is my '.$new_page_title.' page.';
            $my_post['post_status'] = 'publish';
            $my_post['post_type'] = 'page';



            // Insert the post into the database
            $result = wp_insert_post( $my_post );

        }
        }

Pour tester cette fonction sur votre propre site, essayez de régler le crochet wp_head. Il sera exécuté sur chaque chargement de page et insérez les pages qui n'existent pas, avec le contenu en $ my_post [ « post_content »]. * Est-ce que la course de crochet « activate_blog » lorsque les blogs sont créés dans un contexte multi-site? Je ne sais pas. *

Reportez-vous à la page codex pour wp_insert_post que je lié à la liste complète des paramètres par défaut disponibles.

Autres conseils

utilisation "wpmu_activate_blog" au lieu de "activate_blog". il a travaillé pour moi. merci

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top