Lâu lắm rồi mình mới bắt tay vào viết một bài viết nghịch ngợm WordPress để chia sẻ với các bạn đọc. Hôm nay, chúng ta cùng nghịch với giao diện của WordPress để tùy biến theo ý mình nhé.
Phụ mục
Dynamic Highlight Menu
Trên menu của bạn, bạn cần làm nổi bật một chuyên mục nào đó thì đây là cách thực hiện:
[code language=”php”] <ul id="nav"><li<?php if ( is_home() || is_category() || is_archive() || is_search() || is_single() || is_date() ) { echo ‘ class="current"’; } ?>><a href="#">Gallery</a></li>
<li<?php if ( is_page(‘about’) ) { echo ‘ class="current"’; } ?>><a href="#">About’s NhanWeb</a></li>
<li<?php if ( is_page(‘submit’) ) { echo ‘ class="current"’; } ?>><a href="#">Submit</a></li>
</ul>
[/code]
Dynamic Title
Wow ! Trò này vui cho các SEO lắm đây :D
[code language=”php”] <title><?php
if (is_home()) {
echo bloginfo(‘name’);
} elseif (is_404()) {
echo ‘404 Not Found’;
} elseif (is_category()) {
echo ‘Thư mục:’; wp_title(”);
} elseif (is_search()) {
echo ‘Kết quả tìm kiếm’;
} elseif ( is_day() || is_month() || is_year() ) {
echo ‘Bài lưu trữ:’; wp_title(”);
} else {
echo wp_title(”);
}
?>
</title>
[/code]
Ok ! Tùy biến thoải mái theo yêu cầu của mình nhé mọi người :)
Dynamic Content
Mặc định giao diện của WordPress được load theo file Index, nên nếu bạn cần một file nào đó hoạt động trong trang chủ (home) thôi thì đây là cách:
[code language=”php”]
<?php if ( is_home() ) { include (‘file.php’); } ?>
[/code]
Thay file.php bằng file của bạn. Có thể chèn thêm các đối số đường dẫn để tìm đúng file.
Highlight bài nổi bật theo category
Tính năng Feature post có lẽ không lạ nữa nên không nói nữa hen :)
Bây giờ mục tiêu của chúng ta là giả sử nếu trong danh sách bài nổi bật có bài của một chuyên mục(category) nào đó và chúng ta muốn rằng những bài viết ở mục feature thuộc category này cần được làm nổi bật hơn:
[code language=”php”]
<?php if ( in_category(‘My_highlight_category’) ) { echo (‘class="feature"’); } ?>
[/code]
Thay My_highlight_category thành số ID của category mà bạn cần làm nổi bật. ngoài ra cũng định dạng CSS cho class feature nữa là xong :)
Tùy biến giao diện trang single theo category
Ở trên chúng ta đã nhắc đến hàm in_category() để tùy biến highlight, giờ chúng ta cũng có thể sử dụng nó để tùy biến lại trang single.php theo ý mình:
[code language=”php”] <?php$post = $wp_query- >post;
if ( in_category(‘1’) ) {
include(TEMPLATEPATH . ‘/single1.php’);
} elseif ( in_category(‘2’) ) {
include(TEMPLATEPATH . ‘/single2.php’);
} else {
include(TEMPLATEPATH . ‘/single_other.php’);
}
? >
[/code]
Thay từng trang single.php thành từng giao diện bạn thích. Giao diện trang single_other.php sẽ là giao diện mặc định cho các category khác khi bài viết được tải lên.
Tùy biến giao diện trang category theo category
Cách làm tương tự như trên. Không hướng dẫn nữa, mắc công gõ mỏi tay :D
Thêm Google Adword sau bài viết đầu tiên
Danh sách bài viết rất dài, làm thế nào để xác định được vị trí đầu tiên để đưa Google Adword của mình vào ?
Rất đơn giản, bạn chỉ việc bổ sung 1 biến đồng thời cộng dần biến này lên và so sánh để tìm ra vị trí đầu tiên. Cái này chắc dân lập trình web chỉ cần show code là hiểu liền:
[code language=”php”] <?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); $loopcounter++; ?>
// the loop stuffs
<?php if ($loopcounter <= 1) { include (TEMPLATEPATH . ‘/ad.php’); } ?>
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
[/code]
ad.php là file mình chứa đoạn mã Google Adword.
Hiện các bài viết cuối cùng
Rất đơn giản, sử dụng hàm query_post chúng ta có thể làm được rất nhiều thứ:
[code language=”php”] <?php query_posts(‘showposts=5’); ?><ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>
[/code]
Này thì 5 bài viết nhé :D
Hiện Feature Posts
Giả sử feature post của chúng ta lấy từ category = 2:
Chúng ta sẽ có đoạn mã này trong sidebar.php:
[code language=”php”]><?php query_posts(‘cat=2&showposts=5’); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul> [/code]
Nghịch Custom Fields
Custom Fields là tính năng rất mạnh của WordPress nhưng chúng ta ít tận dụng vì chưa hiểu rõ về nó. Giờ chúng ta sẽ nghịch nó bằng cách hiển thị một Custom Fields như sau:
Giờ là hiển thị nó ngoài giao diện:
[code language=”php”] <?php //get article_image$image = get_post_meta($post->ID, ‘article_image’, true); ?>
<a href="<?php the_permalink() ?>"><img src="<?php echo $image; ?>" alt="<?php the_title(); ?>" /></a>
[/code]Tương tự nếu muốn nghịch một Custom Field khác :)
Page Template
Nếu sử dụng một template chuẩn, có thể bạn sẽ không tùy biến được các giao diện hiển thị. Cách tốt nhất là chúng ta nên học cách tùy biến giao diện theo ý mình để còn thiết kế template nữa chứ :)
Đây là cấu trúc của một template (portfolio.php) tùy biến theo cách của riêng bạn:
[code language=”php”] <?php/*
Template Name: Portfolio
*/
?>
<?php get_header(); ?>
//the loop here
<?php get_footer(); ?>
Khi viết hoặc sửa một trang, bạn sẽ tìm thấy template mình vừa tạo:
Chọn nó và sử dụng thôi (dĩ nhiên là bạn phải thiết kế một giao diện cho nó nữa chứ) :)