NHANWEB

Thiết kế theme WP phần 5: trích xuất template file và viết header.php

Trong phần 4, chúng ta đã nói về 1 template với đầy đủ thông tin cũng như NhanWeb đã gửi cho các bạn một file template mẫu mà chúng ta sẽ sử dụng để trích xuất ra theme. Dựa vào template này hôm nay chúng ta sẽ đưa dữ liệu vào tạo nên theme nhé.

Đưa file style.css, thư mục hình ảnh của template vào hệ thống template file

Trước khi trình bày giao diện đã viết, NhanWeb sẽ đưa định dạng CSS đã viết vào template file style.css của giao diện như sau:

[css] /*
Theme Name: NhanWeb
Theme URI: http://nhanweb.com/
Description: Theme Demo cho bai viet thiet ke giao dien WordPress
Author: Nguyen Duy Nhan
Version: 1.0.0
License: GNU General Public License
License URI: license.txt
Tags: nhanweb, css, thiet ke giao dien
*/
/* CSS Document */
body{
background:#000;
font-family:Tahoma, Geneva, sans-serif;
font-size:12px;
}
.wrap{
width:960px;
background:#FFF;
padding:0;
margin: 0 auto;
}
#header{
height:100px;
}
#menu{
background:url(images/menu_bg.gif) repeat-x;
height:32px;
line-height:32px;
color:#FFF;
text-transform:uppercase;
}
#main{
padding:0;
margin:0;
}
#content{
float:left;
width:627px;
min-height:400px;
margin: 10px 10px 10px 0;
}
#slider{
float:left;
width:300px;
margin: 10px 0px 10px 10px;
border: 0 0 1px 1px solid #999;
-moz-box-shadow: -5px 0px 5px #ccc;
-webkit-box-shadow: -5px 0px 5px #ccc;
box-shadow:-5px 5px 5px #ccc;
padding:5px;
}
.clear_both{
clear:both;
}
#footer{
height:50px;
color:#333;
line-height:50px;
padding-left:10px;
background:#c2f3e1;
}
[/css]

Đoạn này tương đối dễ hiểu vì ta sẽ copy tất cả vào, đồng thời giữ nguyên định dạng thư mục và file hình ảnh đi kèm.

Trích xuất template file

Việc tiếp theo trong qui trình thiết kế của mình, NhanWeb sẽ trích xuất giao diện của mình ra thành 4 phần như đã nói ở phần 2. Từng phần ấy sẽ được thiết kế riêng để xử lý những công việc cụ thể.

Thành phần giao diện bao gồm:

  1. header.php
  2. index.php
  3. sidebar.php
  4. footer.php

Code chi tiết của từng phần:

header.php

Header.php

Index.php

index.php

sidebar.php

sidebar.php

footer.php

footer.php

Đừng hỏi mình tại sao không để code để các bạn copy cho nhanh nhé, mình muốn các bạn động tay động chân một tí cho dễ nhớ. Có bắt tay vào làm mới nhớ được các bạn ah.

Kết nối các template file lại với nhau

Để kết nối các template file lại với nhau bạn sử dụng các hàm get_header(), get_sidebar()get_footer() như mình đã nói sơ qua ở phần 2.

Bạn mở file index.php và bổ sung các đoạn code cần thiết như sau:

[php] <?php

/**
* The main template file.
*
*/

get_header();
?>
<div id="content">Content</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

[/php]

Nếu bạn chưa quen với cách sử dụng các hàm get_header() hay get_footer()… thì bạn có thể tìm hiểu thêm ở phần 2 nhé. Giờ chúng ta tiến hành chạy thử và kiểm chứng kết quả đã.

Các thành phần template file đã kết nối lại với nhau

Như bạn đã thấy, chúng ta đã kết nối được cái file template lại với nhau nhưng phần CSS chưa được kết nối để hiện giao diện chuẩn. Không sao, chúng ta sẽ tiến hành làm việc với file header.php ngay sau đây.

Làm việc với file header.php

Bạn mở file header và bổ sung, chỉnh sửa các dòng code như dưới đây:

[php] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="<?php bloginfo( ‘charset’ ); ?>" />
<title>
<?php
/*
* Print the <title> tag based on what is being viewed.
*/
global $page, $paged;

wp_title( ‘|’, true, ‘right’ );

// Add the blog name.
bloginfo( ‘name’ );
?>
</title>
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( ‘stylesheet_url’ ); ?>" />
<meta name="description" content="<?php bloginfo(‘description’); ?>">
<link rel="pingback" href="<?php bloginfo( ‘pingback_url’ ); ?>" />
<?php wp_head();?>
</head>

<body>
<div class="wrap">
<div id="header">
<img src="<?php bloginfo(‘template_url’); ?>/images/logo.png" width="300" height="100" alt="<?php echo bloginfo( ‘name’ );?>" />
</div>
<div id="menu">
Menu here
</div>
<div id="main">
[/php]

Bạn sẽ thấy file header.php của chúng ta có vài chỗ đổi khác. Chỗ đổi khác ở đây phần lớn mình muốn nói đến đó là sự xuất hiện của một số hàm được sử dụng trong hệ thống của wordpress. Các hàm đó là:

Kiểm tra lại

Giao diện NhanWeb

Coi như là ổn cho việc đưa 1 giao diện từ bên ngoài vào. Trong phần tiếp theo của chuỗi bài viết, NhanWeb sẽ hướng dẫn các bạn lập trình từng phần của nội dung chi tiết cũng như cách chúng ta lập trình giao diện WordPress.

Những phần tiếp theo sẽ bao gồm một chút kiến thức php căn bản. Cho nên bạn nào còn yếu hoặc chưa nắm được PHP thì giành thời gian xem lại nhé.

Exit mobile version