it-swarm-ko.tech

새 블로그를 만들 때마다 기본 페이지를 만들 수 있습니까?

"about"과 같은 페이지는 새 블로그를 만들 때 자동으로 만들어집니다. 마찬가지로 다중 사이트 아래에 블로그를 만들 때 자동으로 나타나는 다른 페이지가 필요합니다.

멀티 사이트에서 새 블로그를 만들 때 기본 페이지를 구성하려면 어떻게합니까?

예 : example.com에 다중 사이트가있는 경우 이 사이트에서 작성된 모든 블로그에는 집, 정보, 내 상점, 내 주소가 있어야합니다.

6
user391

Functions 훅 파일 activate_blog와 연결되는 functions.php 파일에서 함수를 생성하는 것이 좋습니다. 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']의 내용과 함께 삽입합니다. * 멀티 사이트 컨텍스트에서 블로그를 만들 때 'activate_blog'후크가 실행됩니까? 나도 몰라. *

사용 가능한 기본 매개 변수의 전체 목록은 제가 링크 된 wp_insert_post의 코덱스 페이지를 참조하십시오.

12
kevtrout

"activate_blog"대신 "wpmu_activate_blog"를 사용하십시오. 그것은 나를 위해 일했다. 감사

2
user2325