Thêm/Xóa default pages WordPress multisite

5 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 website WordPress từ một cài đặt duy nhất. Mỗi website trong mạng lưới multisite (gọi là site con) thường cần các trang cơ bản như Trang chủ, Giới thiệu, Liên hệ, và Điều khoản sử dụng. Việc tạo và quản lý các trang này một cách hiệu quả là rất quan trọng để duy trì tính nhất quán và chuyên nghiệp cho toàn bộ mạng lưới.

Trang mặc định (default pages) là những trang được tự động tạo khi một site con mới được kích hoạt trong mạng lưới multisite. Điều này giúp người dùng mới có một điểm khởi đầu và giảm bớt công việc tạo nội dung từ đầu. Tuy nhiên, tùy thuộc vào nhu cầu và mục tiêu của mạng lưới, bạn có thể muốn tùy chỉnh các trang mặc định này hoặc thậm chí loại bỏ chúng để tạo ra một trải nghiệm hoàn toàn tùy chỉnh.

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 hoàn toàn nội dung và giao diện của các site con trong mạng lưới của mình.

Tại Sao Cần Tùy Chỉnh Trang Mặc Định?

Mặc dù trang mặc định cung cấp một nền tảng cơ bản, nhưng có nhiều lý do để bạn cần tùy chỉnh chúng:

  • Thương hiệu: Trang mặc định thường có nội dung chung chung, không phản ánh thương hiệu và giọng văn của bạn.
  • Mục tiêu kinh doanh: Trang mặc định có thể không phù hợp với mục tiêu cụ thể của từng site con.
  • Trải nghiệm người dùng: Trang mặc định có thể không cung cấp trải nghiệm người dùng tốt nhất, đặc biệt nếu bạn muốn tạo ra một trang web độc đáo và hấp dẫn.
  • Nội dung chuyên biệt: Trang mặc định không chứa nội dung chuyên biệt phù hợp với lĩnh vực hoạt động của từng site con.

Việc tùy chỉnh trang mặc định cho phép bạn tạo ra một mạng lưới website nhất quán về mặt thương hiệu, tối ưu hóa cho mục tiêu kinh doanh và cung cấp trải nghiệm người dùng tốt nhất.

Cách Thêm Trang Mặc Định Trong WordPress Multisite

WordPress không cung cấp một tính năng tích hợp sẵn để tự động thêm trang mặc định khi tạo site mới. Tuy nhiên, có nhiều cách để thực hiện điều này, bao gồm sử dụng plugin, viết code tùy chỉnh hoặc sử dụng các công cụ hỗ trợ.

Sử Dụng Plugin

Một số plugin có thể giúp bạn tự động tạo trang mặc định khi một site con mới được tạo. Một số plugin phổ biến bao gồm:

  • New Blog Templates: Cho phép bạn tạo một hoặc nhiều mẫu site con, bao gồm cả trang, bài viết và cài đặt.
  • WP Multisite Content Copier: Sao chép nội dung từ một site con hiện có sang các site con mới.
  • Multisite Enhancements: Cung cấp nhiều tính năng hữu ích cho multisite, bao gồm cả khả năng tạo trang mặc định.

Để sử dụng plugin, hãy cài đặt và kích hoạt plugin đó trên mạng lưới multisite của bạn. Sau đó, làm theo hướng dẫn của plugin để tạo hoặc chọn các trang mà bạn muốn sử dụng làm trang mặc định.

Viết Code Tùy Chỉnh

Nếu bạn muốn kiểm soát hoàn toàn quá trình tạo trang mặc định, bạn có thể viết code tùy chỉnh. Dưới đây là một ví dụ về cách tạo một trang mặc định có tiêu đề “Giới thiệu” và nội dung mẫu:


function create_default_page($blog_id) {
    switch_to_blog($blog_id);

    $page_title = 'Giới thiệu';
    $page_content = 'Đây là trang giới thiệu. Hãy tùy chỉnh nội dung này.';

    $page_args = array(
        'post_title'    => wp_strip_all_tags( $page_title ),
        'post_content'  => $page_content,
        'post_status'   => 'publish',
        'post_type'     => 'page',
        'post_author'   => 1, // ID của người dùng quản trị
    );

    $page_id = wp_insert_post( $page_args );

    restore_current_blog();
}

add_action( 'wpmu_new_blog', 'create_default_page' );

Đoạn code này sử dụng action hook `wpmu_new_blog` để chạy một hàm khi một site con mới được tạo. Hàm `create_default_page` tạo một trang mới với tiêu đề và nội dung đã chỉ định. Bạn có thể thêm nhiều trang hơn bằng cách sao chép và sửa đổi đoạn code này.

Để sử dụng đoạn code này, hãy thêm nó vào file `functions.php` của theme chính (parent theme) hoặc tạo một plugin tùy chỉnh.

Cách Xóa Trang Mặc Định Trong WordPress Multisite

Nếu bạn không muốn sử dụng trang mặc định do WordPress tạo ra, bạn có thể xóa chúng theo cách thủ công hoặc sử dụng code.

Xóa Thủ Công

Để xóa trang mặc định theo cách thủ công, hãy làm theo các bước sau:

  1. Đăng nhập vào trang quản trị của site con mà bạn muốn xóa trang.
  2. Đi đến “Trang” (Pages) > “Tất cả các trang” (All Pages).
  3. Tìm các trang mặc định (ví dụ: “Trang chủ mẫu” – Sample Page) và di chuột qua chúng.
  4. Nhấp vào liên kết “Thùng rác” (Trash).
  5. Sau khi xóa, đi đến “Thùng rác” (Trash) và nhấp vào “Xóa vĩnh viễn” (Delete Permanently) để loại bỏ trang hoàn toàn.

Lặp lại quy trình này cho tất cả các site con mà bạn muốn xóa trang mặc định.

Sử Dụng Code

Bạn cũng có thể sử dụng code để tự động xóa trang mặc định khi một site con mới được tạo. Dưới đây là một ví dụ:


function delete_default_page($blog_id) {
    switch_to_blog($blog_id);

    $default_page_title = 'Trang chủ mẫu'; // Tiêu đề của trang mặc định

    $pages = get_pages(array(
        'post_title' => $default_page_title,
        'post_type'  => 'page',
    ));

    foreach ($pages as $page) {
        wp_delete_post($page->ID, true); // true để xóa vĩnh viễn
    }

    restore_current_blog();
}

add_action( 'wpmu_new_blog', 'delete_default_page' );

Đoạn code này tìm trang có tiêu đề “Trang chủ mẫu” và xóa nó vĩnh viễn khi một site con mới được tạo. Hãy nhớ thay đổi `$default_page_title` nếu trang mặc định của bạn có tiêu đề khác.

Tương tự như ví dụ thêm trang mặc định, hãy thêm đoạn code này vào file `functions.php` của theme chính hoặc tạo một plugin tùy chỉnh.

Tùy Chỉnh Trang Mặc Định Sau Khi Tạo Site Con

Ngay cả khi bạn đã thêm hoặc xóa trang mặc định bằng các phương pháp trên, bạn vẫn có thể tùy chỉnh chúng sau khi site con đã được tạo. Điều này đặc biệt hữu ích nếu bạn muốn cập nhật nội dung của tất cả các trang mặc định cùng một lúc.

Sử Dụng Plugin

Một số plugin cho phép bạn cập nhật nội dung của nhiều trang trên nhiều site con cùng một lúc. Ví dụ:

  • Multisite Content Cloner: Cho phép bạn sao chép nội dung từ một trang trên một site con sang các trang khác trên các site con khác.
  • Search & Replace: Cho phép bạn tìm và thay thế văn bản trên nhiều trang trên nhiều site con.

Sử dụng các plugin này có thể giúp bạn tiết kiệm thời gian và công sức khi cập nhật nội dung của nhiều trang.

Sử Dụng Code

Bạn cũng có thể sử dụng code để cập nhật nội dung của trang mặc định trên nhiều site con. Dưới đây là một ví dụ:


function update_default_page_content() {
    $blog_ids = get_sites( array( 'fields' => 'ids' ) );

    foreach ($blog_ids as $blog_id) {
        switch_to_blog($blog_id);

        $default_page_title = 'Giới thiệu';
        $new_content = 'Đây là nội dung mới cho trang giới thiệu.';

        $pages = get_pages(array(
            'post_title' => $default_page_title,
            'post_type'  => 'page',
        ));

        foreach ($pages as $page) {
            $page_args = array(
                'ID'           => $page->ID,
                'post_content' => $new_content,
            );

            wp_update_post( $page_args );
        }

        restore_current_blog();
    }
}

// Chạy hàm này một lần để cập nhật nội dung
update_default_page_content();

Đoạn code này lặp qua tất cả các site con trong mạng lưới multisite, tìm trang có tiêu đề “Giới thiệu” và cập nhật nội dung của nó thành `$new_content`. Hãy nhớ thay đổi `$default_page_title` và `$new_content` cho phù hợp với nhu cầu của bạn.

**Quan trọng:** Hàm `update_default_page_content()` chỉ nên chạy một lần để tránh cập nhật nội dung trang nhiều lần. Bạn có thể thêm nó vào file `functions.php`, chạy trang web một lần, sau đó xóa nó khỏi file.

Kết Luận

Việc quản lý trang mặc định trong WordPress Multisite là một phần quan trọng của việc tạo ra một mạng lưới website nhất quán và chuyên nghiệp. Bằng cách sử dụng các plugin, viết code tùy chỉnh hoặc sử dụng các công cụ hỗ trợ, bạn có thể thêm, xóa và tùy chỉnh trang mặc định để đáp ứng nhu cầu cụ thể của mình.

Hãy nhớ rằng việc tùy chỉnh trang mặc định không chỉ giúp bạn tạo ra một trang web đẹp mắt mà còn giúp bạn cải thiện trải nghiệm người dùng, tăng cường thương hiệu và đạt được mục tiêu kinh doanh của mình.