it-swarm-ru.tech

Могу ли я установить несколько страниц по умолчанию, которые будут создаваться при каждом создании нового блога

Страницы наподобие "about" будут создаваться автоматически при создании нового блога. Кроме того, мне нужны некоторые другие страницы, которые должны появляться автоматически при создании блога под моими мультисайтами.

Как настроить страницы по умолчанию для создания нового блога в мультисайте?

Например: если у меня есть мультисайт на example.com. Каждый блог, созданный на этом сайте, должен иметь Дом, О, Мой магазин, Мой адрес.

6
user391

Я рекомендую создать функцию в вашем файле functions.php, которая связана с ловушкой действия activate_blog. Используйте функции WordPress get_pages () , чтобы увидеть, существуют ли ваши страницы по умолчанию. Если они этого не делают, создайте их с помощью 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 );

        }
        }

Чтобы протестировать эту функцию на своем сайте, попробуйте установить хук на wp_head. Он будет запускаться при каждой загрузке страницы и вставлять несуществующие страницы с содержимым в $ my_post ['post_content']. * Работает ли ловушка 'activ_blog', когда блоги создаются в контексте нескольких сайтов? Я не знаю.*

Обратитесь к странице кодекса для wp_insert_post, на который я ссылался, чтобы получить полный список доступных параметров по умолчанию.

12
kevtrout

используйте "wpmu_activate_blog" вместо "activ_blog". это сработало для меня. Спасибо

2
user2325