Thêm/Xóa default pages WordPress multisite

2 tháng ago, Hướng dẫn WordPress, Views
Thêm/Xóa default pages WordPress multisite

Giới thiệu về Trang mặc định trong WordPress Multisite

WordPress Multisite là một tính năng mạnh mẽ cho phép bạn quản lý nhiều trang web WordPress từ một cài đặt duy nhất. Mỗi trang web trong mạng lưới này được gọi là một “site” hoặc “blog”. Khi bạn tạo một site mới trong mạng lưới Multisite, WordPress tự động tạo ra một vài trang mặc định, thường là trang “Chào thế giới” (Hello World) và trang “Trang mẫu” (Sample Page). Những trang này có thể hữu ích làm điểm khởi đầu, nhưng trong nhiều trường hợp, bạn có thể muốn thêm, xóa hoặc tùy chỉnh chúng để phù hợp hơn với nhu cầu của dự án.

Bài viết này sẽ hướng dẫn bạn cách thêm, xóa và tùy chỉnh các trang mặc định trong WordPress Multisite, giúp bạn kiểm soát tốt hơn nội dung và trải nghiệm người dùng trên các site mới.

Tại sao cần Quản lý Trang Mặc định?

Quản lý trang mặc định trong WordPress Multisite mang lại nhiều lợi ích:

  • Thương hiệu nhất quán: Đảm bảo rằng tất cả các site mới trong mạng lưới của bạn đều tuân thủ các tiêu chuẩn thương hiệu, bao gồm bố cục, nội dung và phong cách thiết kế.
  • Tiết kiệm thời gian: Tránh việc phải xóa hoặc chỉnh sửa các trang mặc định thủ công trên mỗi site mới.
  • Cải thiện trải nghiệm người dùng: Cung cấp nội dung phù hợp và hữu ích ngay từ đầu, giúp người dùng dễ dàng tìm thấy thông tin họ cần.
  • Tối ưu hóa SEO: Loại bỏ nội dung trùng lặp (duplicate content) từ các trang mặc định, giúp cải thiện thứ hạng SEO của các site.

Xóa Trang Mặc định trong WordPress Multisite

Có nhiều cách để xóa các trang mặc định trong WordPress Multisite. Dưới đây là một số phương pháp phổ biến:

1. Xóa Thủ công từ Dashboard

Đây là phương pháp đơn giản nhất, nhưng tốn thời gian nếu bạn có nhiều site.

  1. Đăng nhập vào trang quản trị WordPress Multisite với quyền quản trị mạng (Network Admin).
  2. Chuyển đến “Sites” (Trang web) và chọn site bạn muốn chỉnh sửa.
  3. Nhấp vào “Dashboard” (Bảng điều khiển) của site đó.
  4. Chọn “Pages” (Trang).
  5. Tìm các trang “Chào thế giới” và “Trang mẫu”.
  6. Chọn “Move to Trash” (Chuyển vào Thùng rác) cho mỗi trang.
  7. Đảm bảo làm trống Thùng rác (Trash) để xóa vĩnh viễn các trang.

2. Sử dụng Plugin

Có nhiều plugin miễn phí và trả phí có thể giúp bạn xóa các trang mặc định một cách tự động khi tạo site mới.

Ví dụ:

  • New Blog Defaults: Plugin này cho phép bạn thiết lập các cài đặt mặc định cho các site mới, bao gồm việc xóa các trang mặc định.
  • WP Default Content: Plugin này cho phép bạn thay thế nội dung mặc định bằng nội dung của riêng bạn, hoặc xóa chúng hoàn toàn.

Để sử dụng plugin:

  1. Cài đặt và kích hoạt plugin từ trang quản trị mạng (Network Admin).
  2. Truy cập cài đặt của plugin và cấu hình để xóa các trang mặc định khi tạo site mới.

3. Sử dụng Code Snippet (functions.php)

Nếu bạn có kinh nghiệm lập trình, bạn có thể sử dụng code snippet để xóa các trang mặc định. Phương pháp này đòi hỏi chỉnh sửa file `functions.php` của theme hoặc sử dụng plugin như “Code Snippets” để thêm code tùy chỉnh.

Ví dụ:


function remove_default_pages( $blog_id, $user_id, $domain, $path, $site_id, $meta ) {
    switch_to_blog( $blog_id );

    $default_pages = array(
        'hello-world' => 'Hello World',
        'sample-page' => 'Sample Page'
    );

    foreach ( $default_pages as $slug => $title ) {
        $page = get_page_by_path( $slug );
        if ( $page ) {
            wp_delete_post( $page->ID, true ); // Set to true to force delete
        }
    }

    restore_current_blog();
}
add_action( 'wpmu_new_blog', 'remove_default_pages', 10, 6 );

Lưu ý quan trọng: Sao lưu file `functions.php` trước khi chỉnh sửa. Sai sót trong code có thể làm hỏng trang web của bạn.

Thêm Trang Mặc định Tùy chỉnh

Thay vì xóa các trang mặc định, bạn có thể muốn thêm các trang tùy chỉnh mà bạn muốn hiển thị trên tất cả các site mới. Điều này đặc biệt hữu ích nếu bạn có các trang quan trọng như “Giới thiệu”, “Liên hệ”, “Điều khoản sử dụng” hoặc “Chính sách bảo mật”.

1. Tạo Trang Mẫu (Template Page)

Tạo một trang mẫu với nội dung và bố cục bạn muốn sử dụng làm trang mặc định.

  1. Trên một site hiện có trong mạng lưới của bạn (hoặc một cài đặt WordPress khác), tạo các trang mà bạn muốn sử dụng làm trang mặc định.
  2. Đảm bảo rằng các trang này có nội dung, bố cục và cài đặt (ví dụ: loại menu, loại trang) mà bạn muốn sao chép.
  3. Ghi lại ID của các trang này. Bạn có thể tìm thấy ID trong URL chỉnh sửa trang (ví dụ: `post=123`).

2. Sử dụng Plugin hoặc Code Snippet

Sử dụng plugin hoặc code snippet để sao chép các trang mẫu vào các site mới.

Ví dụ (sử dụng code snippet):


function create_custom_pages( $blog_id, $user_id, $domain, $path, $site_id, $meta ) {
    switch_to_blog( $blog_id );

    // ID của các trang mẫu
    $page_ids = array(
        'about-us' => 123, // Thay thế 123 bằng ID trang "Giới thiệu"
        'contact-us' => 456  // Thay thế 456 bằng ID trang "Liên hệ"
    );

    foreach ( $page_ids as $slug => $source_page_id ) {
        $source_page = get_post( $source_page_id );

        if ( $source_page ) {
            $new_page_data = array(
                'post_title'   => $source_page->post_title,
                'post_content' => $source_page->post_content,
                'post_status'  => 'publish',
                'post_type'    => 'page',
                'post_name'    => $slug // Sử dụng slug làm post_name
            );

            $new_page_id = wp_insert_post( $new_page_data );

            //Sao chép meta data (tùy chọn)
             $post_meta_infos = get_post_custom($source_page_id);
             foreach ($post_meta_infos as $key => $values) {
               foreach ($values as $value) {
                   update_post_meta($new_page_id, $key, maybe_unserialize($value));
               }
             }
        }
    }

    restore_current_blog();
}
add_action( 'wpmu_new_blog', 'create_custom_pages', 10, 6 );

Giải thích code:

  • Hàm `create_custom_pages` được kích hoạt khi một site mới được tạo (`wpmu_new_blog` hook).
  • `switch_to_blog` chuyển sang site mới.
  • `$page_ids` là một mảng chứa slug và ID của các trang mẫu. Thay thế các ID bằng ID thực tế của các trang bạn đã tạo.
  • Code lặp qua các trang mẫu, lấy thông tin từ trang nguồn và tạo một trang mới với thông tin đó.
  • Code sao chép meta data từ trang nguồn sang trang mới. Cái này rất quan trọng nếu bạn sử dụng builder như Elementor, Beaver Builder…
  • `restore_current_blog` quay lại site chính (site mạng lưới).

Lưu ý: Đảm bảo thay thế các ID trang mẫu bằng ID thực tế của bạn. Bạn có thể cần điều chỉnh code để phù hợp với các cài đặt trang cụ thể của bạn (ví dụ: loại menu, bố cục).

3. Điều chỉnh Trạng thái Trang

Bạn có thể đặt trạng thái của các trang mới là “Bản nháp” (Draft) thay vì “Đã xuất bản” (Published) nếu bạn muốn xem xét và chỉnh sửa chúng trước khi chúng hiển thị trên site.

Tùy chỉnh Nội dung Mặc định

Ngoài việc thêm hoặc xóa trang, bạn cũng có thể tùy chỉnh nội dung mặc định của các trang hiện có. Điều này đặc biệt hữu ích nếu bạn muốn cung cấp hướng dẫn hoặc thông tin cụ thể cho người dùng.

Ví dụ, bạn có thể thay đổi nội dung của trang “Chào thế giới” để chào mừng người dùng đến với site mới của họ và cung cấp hướng dẫn về cách bắt đầu.

Bạn có thể thực hiện việc này bằng cách sử dụng plugin hoặc code snippet, tương tự như cách thêm trang tùy chỉnh.

Các Plugin Hữu ích

Dưới đây là một số plugin hữu ích cho việc quản lý các trang mặc định trong WordPress Multisite:

  • New Blog Defaults: Cho phép bạn thiết lập nhiều cài đặt mặc định cho các site mới, bao gồm việc xóa hoặc thêm các trang mặc định.
  • WP Default Content: Thay thế nội dung mặc định bằng nội dung của riêng bạn.
  • Multisite Enhancements: Cung cấp nhiều tính năng hữu ích cho việc quản lý WordPress Multisite, bao gồm quản lý nội dung mặc định.

Kết luận

Quản lý các trang mặc định trong WordPress Multisite là một bước quan trọng để đảm bảo tính nhất quán và chuyên nghiệp của mạng lưới của bạn. Bằng cách xóa các trang không cần thiết, thêm các trang tùy chỉnh và tùy chỉnh nội dung mặc định, bạn có thể cung cấp trải nghiệm người dùng tốt hơn và tiết kiệm thời gian quản lý.

Hãy thử các phương pháp khác nhau được trình bày trong bài viết này và chọn phương pháp phù hợp nhất với nhu cầu và kỹ năng của bạn. Nhớ sao lưu trang web của bạn trước khi thực hiện bất kỳ thay đổi nào, đặc biệt là khi chỉnh sửa code.