it-swarm-es.com

¿Puedo configurar algunas páginas predeterminadas para que se creen en cada creación de un nuevo blog?

Las páginas como "sobre" se crearán automáticamente cuando se cree un nuevo blog. Del mismo modo, necesito otras páginas que deberían aparecer automáticamente cuando se crea un blog en mis sitios múltiples.

¿Cómo puedo configurar las páginas predeterminadas para crear con un nuevo blog en un sitio múltiple?

Por ejemplo: Si tengo un multisitio en example.com. Cada blog creado en este sitio debe tener Inicio, Acerca de, Mi tienda, Mi dirección.

6
user391

Recomiendo crear una función en su archivo functions.php que se vincule al gancho de acción activate_blog. Use las funciones de WordPress get_pages () para ver si existen sus páginas predeterminadas. Si no lo hacen, créalos con 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 );

        }
        }

Para probar esta función en su propio sitio, intente configurar el enlace en wp_head. Se ejecutará en cada carga de página e insertará las páginas que no existen, con el contenido en $ my_post ['post_content']. * ¿Se ejecuta el gancho 'enable_blog' cuando los blogs se crean en un contexto de múltiples sitios? No lo sé.*

Consulte la página de códice para wp_insert_post a la que he vinculado para obtener la lista completa de parámetros predeterminados disponibles.

12
kevtrout

use "wpmu_activate_blog" en lugar de "enable_blog". funciono para mi Gracias

2
user2325