it-swarm-vi.tech

Tôi có thể đặt một số trang mặc định được tạo trên mỗi lần tạo blog mới không

Các trang như "about" sẽ được tạo tự động khi blog mới được tạo. Tương tự như vậy, tôi cần một số trang khác sẽ tự động xuất hiện khi một blog được tạo ra dưới nhiều trang của tôi.

Làm cách nào tôi có thể định cấu hình các trang mặc định sẽ được tạo bằng một blog mới trong nhiều trang?

Ví dụ: Nếu tôi có nhiều trang trên example.com. Mỗi blog được tạo trong trang web này nên có Trang chủ, Giới thiệu, Cửa hàng của tôi, Địa chỉ của tôi.

6
user391

Tôi khuyên bạn nên tạo một hàm trong tệp tin.php của bạn có liên quan đến hook hành động activate_blog. Sử dụng các chức năng WordPress get_pages () để xem các trang mặc định của bạn có tồn tại không. Nếu không, hãy tạo chúng bằng 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 );

        }
        }

Để kiểm tra chức năng này trên trang web của riêng bạn, hãy thử đặt hook thành wp_head. Nó sẽ chạy trên mỗi lần tải trang và chèn các trang không tồn tại, với nội dung trong $ my_post ['post_content']. * Móc 'activ_blog' có chạy khi blog được tạo trong ngữ cảnh nhiều trang không? Tôi không biết.*

Tham khảo trang codex cho wp_insert_post mà tôi đã liên kết để biết danh sách đầy đủ các tham số mặc định có sẵn.

12
kevtrout

sử dụng "wpmu_activate_blog" thay vì "activ_blog". nó làm việc cho tôi cảm ơn

2
user2325