Chuyển đổi theme WordPress bằng code PHP

Theo mặc định thủ công nếu bạn muốn kích hoạt 1 theme nào đó thì bạn phải vào wp-admin > Giao diện và chọn theme từ kho theme hoặc theme bạn đã tải lên sau đó click vào nút Kích hoạt để sử dụng theme đấy cho WordPress, trong bài viết này mình chia sẽ 1 đoạn code bằng php đơn giản để kích hoạt theme bạn cần chọn mà không cần phải vào wp-admin.

function vutruso_set_custom_theme() {
    //replace ten-theme-moi
    return 'ten-theme-moi';
}
add_filter( 'template', 'vutruso_set_custom_theme' );
add_filter( 'stylesheet', 'vutruso_set_custom_theme' );

Tất nhiên để kích hoạt theme theo cách này thì trong thư mục /wp-content/themes/ bạn phải tải theme lên và giải nén ra để sẵn ở đây nhé, ngoài ra tên theme là ten-theme-moi bạn sửa lại cho phù hợp nhé.

Code trên sử dụng 2 filter để kích hoạt 1 theme mới tuỳ chỉnh mà không cần phải vào WP-ADMIN, ngoài cách này ra bạn cũng có thể sử dụng PHPADMIN hoặc để kích hoạt 1 theme mới mà không cần phải vào wp-admin.

Với đoạn code trên bạn có thể linh động biến tấu thêm cho phù hợp với các yêu cầu riêng, ví dụ đặt điều kiện người dùng đã đăng nhập thì sử dụng theme A, người dùng chưa đăng nhập thì sử dụng theme B, hoặc trên di động thì sử dụng theme C, trên desktop sử dụng theme D ….

Hay đặc biệt hơn, nếu khách truy cập vào đường dẫn E thì sẽ sử dụng theme F, khá nhiều case hay để áp dụng code này mà bạn có thể nghĩ ra.

add_filter( 'pre_option_stylesheet', 'vutruso_change_theme_stylesheet' );
add_filter( 'pre_option_template', 'vutruso_change_theme_template' );
 
function vutruso_change_theme_stylesheet(){
 
    $current_url="https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
    //you can change the condition based on your needs either by full URL by parameters and so on.
    //you can also retrieve the URL theme correspondant from database.
    if($current_url == 'https://vutruso.com/du-an/'):
        return 'twentysixteen';
    else:
	    return "vutruso";
    endif;
}

Ví dụ code trên này nếu khách truy cập vào https://vutruso.com/du-an/ sẽ sử dụng theme twentysixteen và các url khác thì sử dụng theme vutruso

Hy vọng bài viết sẽ giúp ích cho nhiều người.

daotiendung

Tiến Dũng Đào chuyên quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress với hơn 5 năm phát triển theme và plugin. Sở thích của anh là đọc, viết blog, đi du lịch, tập võ và chia sẻ các kiến thức cho mọi người.

Bài viết liên quan