Giới thiệu về Phát triển Theme WordPress

WordPress là một hệ thống quản lý nội dung (CMS - Content Management System) phổ biến, được sử dụng rộng rãi để xây dựng các trang web từ blog cá nhân đến các trang web doanh nghiệp lớn. Một trong những điểm mạnh của WordPress là khả năng tùy biến cao thông qua việc sử dụng theme (giao diện). Thay vì chỉ sử dụng các theme có sẵn, bạn hoàn toàn có thể tự phát triển theme WordPress của riêng mình để đáp ứng nhu cầu và mong muốn cụ thể. Bài viết này sẽ hướng dẫn bạn từng bước cách tạo một theme WordPress cơ bản từ HTML, CSS và PHP, giúp bạn hiểu rõ hơn về cấu trúc và cách hoạt động của theme WordPress.

[thisImage]wordpress theme development overview[/thisImage>

Việc tự phát triển theme WordPress mang lại nhiều lợi ích. Thứ nhất, bạn có toàn quyền kiểm soát giao diện và chức năng của trang web. Bạn không bị giới hạn bởi các tính năng có sẵn của các theme khác và có thể tùy chỉnh mọi thứ theo ý muốn. Thứ hai, bạn có thể tối ưu hóa theme của mình cho hiệu suất và SEO (Search Engine Optimization) tốt hơn. Bạn có thể kiểm soát mã nguồn và đảm bảo rằng theme của bạn được tối ưu hóa cho tốc độ tải trang và các yếu tố SEO khác. Thứ ba, việc tự phát triển theme giúp bạn hiểu sâu hơn về cách WordPress hoạt động, từ đó có thể tùy chỉnh và mở rộng WordPress một cách linh hoạt hơn.

Tuy nhiên, việc phát triển theme WordPress cũng đòi hỏi kiến thức và kỹ năng nhất định. Bạn cần có kiến thức về HTML (HyperText Markup Language), CSS (Cascading Style Sheets) và PHP (Hypertext Preprocessor). Bạn cũng cần hiểu về cấu trúc và cách hoạt động của WordPress theme. Bài viết này sẽ cung cấp cho bạn những kiến thức cơ bản cần thiết để bắt đầu phát triển theme WordPress của riêng mình.

Chuẩn Bị Môi Trường Phát Triển

Trước khi bắt đầu phát triển theme WordPress, bạn cần chuẩn bị một môi trường phát triển phù hợp. Điều này bao gồm việc cài đặt WordPress trên máy tính của bạn và thiết lập một trình soạn thảo mã (code editor) để viết code. Bạn có thể sử dụng các phần mềm như XAMPP, WAMP hoặc MAMP để tạo một môi trường server ảo trên máy tính của mình. Các phần mềm này cung cấp đầy đủ các thành phần cần thiết như Apache (web server), MySQL (database) và PHP.

Sau khi cài đặt xong môi trường server ảo, bạn cần tải WordPress từ trang chủ wordpress.org và cài đặt nó vào thư mục web của server ảo. Quá trình cài đặt WordPress khá đơn giản và chỉ mất vài phút. Bạn chỉ cần làm theo các hướng dẫn trên màn hình và cung cấp thông tin về database, tên người dùng và mật khẩu.

[thisImage]local wordpress development environment[/thisImage>

Tiếp theo, bạn cần chọn một trình soạn thảo mã để viết code. Có rất nhiều trình soạn thảo mã miễn phí và trả phí có sẵn, như Visual Studio Code, Sublime Text, Atom, và Notepad++. Visual Studio Code là một lựa chọn phổ biến vì nó miễn phí, mạnh mẽ và có nhiều extension (tiện ích mở rộng) hỗ trợ phát triển web.

Sau khi cài đặt xong trình soạn thảo mã, bạn cần tạo một thư mục cho theme của mình trong thư mục `wp-content/themes` của WordPress. Tên thư mục này sẽ là tên của theme của bạn. Ví dụ, nếu bạn muốn tạo một theme có tên là "mytheme", bạn sẽ tạo một thư mục có tên là `wp-content/themes/mytheme`. Trong thư mục này, bạn sẽ tạo các file cần thiết cho theme của mình, như `index.php`, `style.css`, `header.php`, `footer.php` và `functions.php`.

Cấu Trúc Cơ Bản của Theme WordPress

Một theme WordPress cơ bản bao gồm các file sau:

  • `style.css`: File này chứa thông tin về theme, như tên theme, tác giả, phiên bản và các style CSS. Đây là file bắt buộc phải có trong mọi theme WordPress.
  • `index.php`: File này là file chính của theme và được sử dụng để hiển thị nội dung của trang web. Nếu WordPress không tìm thấy các file template (mẫu) cụ thể hơn, nó sẽ sử dụng file `index.php` để hiển thị nội dung.
  • `header.php`: File này chứa phần header (đầu trang) của trang web, bao gồm logo, menu và các thành phần khác.
  • `footer.php`: File này chứa phần footer (chân trang) của trang web, bao gồm thông tin bản quyền, liên kết và các thành phần khác.
  • `functions.php`: File này chứa các hàm PHP tùy chỉnh của theme. Bạn có thể sử dụng file này để thêm các tính năng và chức năng mới cho theme của mình.

Ngoài các file cơ bản này, bạn cũng có thể tạo các file template khác để hiển thị các loại nội dung khác nhau, như trang đơn (single page), bài viết (post), category (chuyên mục) và tag (thẻ). WordPress sử dụng một hệ thống template hierarchy (hệ thống phân cấp template) để xác định file template nào sẽ được sử dụng để hiển thị nội dung.

[thisImage]wordpress theme file structure[/thisImage>

Ví dụ, nếu bạn muốn tạo một template cho trang đơn, bạn có thể tạo một file có tên là `single.php`. Nếu bạn muốn tạo một template cho một category cụ thể, bạn có thể tạo một file có tên là `category-slug.php`, trong đó "slug" là slug (đường dẫn tĩnh) của category đó. WordPress sẽ tự động sử dụng các file template này để hiển thị nội dung tương ứng.

Tạo File style.css

File `style.css` là file quan trọng nhất trong theme WordPress. File này chứa thông tin về theme và các style CSS để định dạng giao diện của trang web. File `style.css` phải chứa một đoạn comment (chú thích) đặc biệt ở đầu file để WordPress nhận diện theme. Đoạn comment này phải chứa các thông tin sau:


/*
Theme Name:   My Theme
Theme URI:    https://example.com/my-theme/
Author:     John Doe
Author URI:   https://example.com
Description:  A simple WordPress theme.
Version:    1.0
License:    GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  my-theme
*/

Trong đó:

  • `Theme Name`: Tên của theme.
  • `Theme URI`: Đường dẫn đến trang web của theme.
  • `Author`: Tên của tác giả theme.
  • `Author URI`: Đường dẫn đến trang web của tác giả.
  • `Description`: Mô tả về theme.
  • `Version`: Phiên bản của theme.
  • `License`: Giấy phép sử dụng theme.
  • `License URI`: Đường dẫn đến giấy phép sử dụng theme.
  • `Text Domain`: Tên miền văn bản của theme, được sử dụng cho việc dịch theme sang các ngôn ngữ khác.

Sau đoạn comment này, bạn có thể viết các style CSS để định dạng giao diện của trang web. Bạn có thể sử dụng CSS để thay đổi màu sắc, font chữ, kích thước, vị trí và các thuộc tính khác của các phần tử HTML. Bạn cũng có thể sử dụng CSS để tạo layout (bố cục) cho trang web, sử dụng các kỹ thuật như float, flexbox hoặc grid.

Tạo File index.php

File `index.php` là file chính của theme WordPress. File này được sử dụng để hiển thị nội dung của trang web nếu WordPress không tìm thấy các file template cụ thể hơn. File `index.php` thường chứa các hàm PHP để lấy dữ liệu từ WordPress và hiển thị nó ra HTML. Dưới đây là một ví dụ về file `index.php` cơ bản:


<!DOCTYPE html>
<html>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <title><?php wp_title( '|', true, 'right' ); ?></title>
    <link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>" type="text/css" media="screen" />
</head>
<body>

    <div id="container">
        <div id="header">
            <h1><a href="<?php echo home_url(); ?>"><?php bloginfo( 'name' ); ?></a></h1>
            <p><?php bloginfo( 'description' ); ?></p>
        </div>

        <div id="content">
            <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
                <div class="post">
                    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
                    <p class="post-meta">
                        Posted on <?php the_date(); ?> by <?php the_author(); ?>
                    </p>
                    <div class="post-content">
                        <?php the_content(); ?>
                    </div>
                </div>
            <?php endwhile; else: ?>
                <p>Sorry, no posts matched your criteria.</p>
            <?php endif; ?>
        </div>

        <div id="sidebar">
            <?php get_sidebar(); ?>
        </div>

        <div id="footer">
            <p>© <?php echo date('Y'); ?> <a href="<?php echo home_url(); ?>"><?php bloginfo( 'name' ); ?></a></p>
        </div>
    </div>

</body>
</html>

Trong đó:

  • `<?php bloginfo( 'charset' ); ?>`: Hiển thị charset (bảng mã) của trang web.
  • `<?php wp_title( '|', true, 'right' ); ?>`: Hiển thị tiêu đề của trang web.
  • `<?php echo get_stylesheet_uri(); ?>`: Hiển thị đường dẫn đến file `style.css`.
  • `<?php echo home_url(); ?>`: Hiển thị đường dẫn đến trang chủ của trang web.
  • `<?php bloginfo( 'name' ); ?>`: Hiển thị tên của trang web.
  • `<?php bloginfo( 'description' ); ?>`: Hiển thị mô tả của trang web.
  • `<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>`: Vòng lặp để hiển thị các bài viết.
  • `<?php the_permalink(); ?>`: Hiển thị đường dẫn đến bài viết.
  • `<?php the_title(); ?>`: Hiển thị tiêu đề của bài viết.
  • `<?php the_date(); ?>`: Hiển thị ngày đăng bài viết.
  • `<?php the_author(); ?>`: Hiển thị tác giả của bài viết.
  • `<?php the_content(); ?>`: Hiển thị nội dung của bài viết.
  • `<?php get_sidebar(); ?>`: Hiển thị sidebar (thanh bên) của trang web.
  • `<?php echo date('Y'); ?>`: Hiển thị năm hiện tại.

Bạn có thể tùy chỉnh file `index.php` để hiển thị nội dung theo ý muốn. Bạn có thể thêm các thành phần HTML, CSS và PHP để tạo ra một giao diện độc đáo cho trang web của mình.

Tạo File header.php và footer.php

File `header.php` chứa phần header (đầu trang) của trang web, bao gồm logo, menu và các thành phần khác. File `footer.php` chứa phần footer (chân trang) của trang web, bao gồm thông tin bản quyền, liên kết và các thành phần khác. Việc tách header và footer ra thành các file riêng giúp bạn dễ dàng tái sử dụng chúng trên nhiều trang khác nhau.

Dưới đây là một ví dụ về file `header.php` cơ bản:


<!DOCTYPE html>
<html>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <title><?php wp_title( '|', true, 'right' ); ?></title>
    <link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>" type="text/css" media="screen" />
    <?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>

    <div id="container">
        <div id="header">
            <h1><a href="<?php echo home_url(); ?>"><?php bloginfo( 'name' ); ?></a></h1>
            <p><?php bloginfo( 'description' ); ?></p>
        </div>

Trong đó:

  • `<?php wp_head(); ?>`: Hàm này chèn các meta tag (thẻ meta), script (đoạn mã) và style (kiểu dáng) cần thiết vào header của trang web. Đây là một hàm quan trọng và bạn nên luôn luôn thêm nó vào file `header.php`.
  • `<?php body_class(); ?>`: Hàm này thêm các class (lớp) CSS vào thẻ `<body>`, giúp bạn có thể định dạng giao diện của trang web dựa trên loại trang, category, tag và các yếu tố khác.

Dưới đây là một ví dụ về file `footer.php` cơ bản:


        <div id="footer">
            <p>© <?php echo date('Y'); ?> <a href="<?php echo home_url(); ?>"><?php bloginfo( 'name' ); ?></a></p>
        </div>
    </div>

    <?php wp_footer(); ?>
</body>
</html>

Trong đó:

  • `<?php wp_footer(); ?>`: Hàm này chèn các script cần thiết vào footer của trang web. Đây là một hàm quan trọng và bạn nên luôn luôn thêm nó vào file `footer.php`.

Sau khi tạo xong file `header.php` và `footer.php`, bạn có thể include (nhúng) chúng vào file `index.php` bằng cách sử dụng các hàm `get_header()` và `get_footer()`:


<?php get_header(); ?>

<div id="content">
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
        <div class="post">
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <p class="post-meta">
                Posted on <?php the_date(); ?> by <?php the_author(); ?>
            </p>
            <div class="post-content">
                <?php the_content(); ?>
            </div>
        </div>
    <?php endwhile; else: ?>
        <p>Sorry, no posts matched your criteria.</p>
    <?php endif; ?>
</div>

<?php get_footer(); ?>

Tạo File functions.php

File `functions.php` chứa các hàm PHP tùy chỉnh của theme. Bạn có thể sử dụng file này để thêm các tính năng và chức năng mới cho theme của mình. Ví dụ, bạn có thể sử dụng file `functions.php` để đăng ký menu, sidebar, thumbnail (ảnh đại diện) và các tính năng khác của WordPress.

Dưới đây là một ví dụ về file `functions.php` cơ bản:


<?php
function mytheme_setup() {
    // Enable featured image support
    add_theme_support( 'post-thumbnails' );

    // Register navigation menu
    register_nav_menu( 'primary', __( 'Primary Menu', 'my-theme' ) );
}
add_action( 'after_setup_theme', 'mytheme_setup' );

function mytheme_widgets_init() {
    register_sidebar( array(
        'name'          => __( 'Sidebar', 'my-theme' ),
        'id'            => 'sidebar-1',
        'description'   => __( 'Add widgets here to appear in your sidebar.', 'my-theme' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h2 class="widget-title">',
        'after_title'   => '</h2>',
    ) );
}
add_action( 'widgets_init', 'mytheme_widgets_init' );

Trong đó:

  • `add_theme_support( 'post-thumbnails' )`: Hàm này cho phép sử dụng thumbnail cho bài viết.
  • `register_nav_menu( 'primary', __( 'Primary Menu', 'my-theme' ) )`: Hàm này đăng ký một menu có tên là "Primary Menu".
  • `register_sidebar( ... )`: Hàm này đăng ký một sidebar có tên là "Sidebar".
  • `add_action( 'after_setup_theme', 'mytheme_setup' )`: Hàm này chạy hàm `mytheme_setup()` sau khi theme được setup.
  • `add_action( 'widgets_init', 'mytheme_widgets_init' )`: Hàm này chạy hàm `mytheme_widgets_init()` khi widgets (tiện ích) được khởi tạo.

Bạn có thể thêm các hàm PHP tùy chỉnh khác vào file `functions.php` để thêm các tính năng và chức năng mới cho theme của mình. Bạn có thể tham khảo tài liệu của WordPress để tìm hiểu về các hàm và hook (móc) có sẵn.

Kích Hoạt Theme WordPress

Sau khi tạo xong các file cần thiết cho theme WordPress, bạn cần kích hoạt theme để sử dụng nó trên trang web của mình. Để kích hoạt theme, bạn vào trang quản trị WordPress, chọn "Appearance" (Giao diện) -> "Themes" (Theme). Bạn sẽ thấy theme của mình trong danh sách các theme có sẵn. Bạn chỉ cần click vào nút "Activate" (Kích hoạt) để kích hoạt theme.

Sau khi kích hoạt theme, bạn có thể tùy chỉnh nó bằng cách vào trang "Appearance" -> "Customize" (Tùy chỉnh). Trang này cho phép bạn thay đổi các thiết lập của theme, như màu sắc, font chữ, logo, menu, sidebar và các thành phần khác. Bạn cũng có thể thêm các widget vào sidebar để hiển thị các thông tin và chức năng khác nhau.

Kết luận

Việc phát triển theme WordPress từ đầu bằng HTML, CSS và PHP là một quá trình thú vị và bổ ích. Nó giúp bạn hiểu sâu hơn về cách WordPress hoạt động và cho phép bạn tạo ra một giao diện độc đáo và phù hợp với nhu cầu của mình. Mặc dù quá trình này đòi hỏi kiến thức và kỹ năng nhất định, nhưng với sự hướng dẫn chi tiết trong bài viết này, bạn có thể bắt đầu tạo theme WordPress của riêng mình một cách dễ dàng. Hãy nhớ rằng, việc thực hành thường xuyên là chìa khóa để thành công. Chúc bạn thành công trên con đường phát triển theme WordPress!

Để lại bình luận

Trường (*) là bắt buộc