Aug
6
2010

“Đùa” với wordpress theme

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é.

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:


Dynamic Title

Wow ! Trò này vui cho các SEO lắm đây :D


<?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('');
}
?>

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:


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:


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:

post;

  if ( in_category('1') ) {
  include(TEMPLATEPATH . '/single1.php');

  } elseif ( in_category('2') ) {
  include(TEMPLATEPATH . '/single2.php');

  } else {
  include(TEMPLATEPATH . '/single_other.php');

  }
? >

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:





  // the loop stuffs

  






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ứ:

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:


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:

custom-fields

Giờ là hiển thị nó ngoài giao diện:

ID, 'article_image', true); ?>

<?php the_title(); ?>

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:




  //the loop here

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ứ) :)

Bài có liên quan

Bài viết liên quan

Tác giả: Nguyễn Duy Nhân

Một blogger ... cùi bắp! Đơn giản: tôi muốn ghi lại những gì xảy ra xung quanh, cả công việc lẫn cuộc sống và chia sẻ với các bạn đọc. Nếu bạn cảm thấy bài viết có nhiều điểm không chính xác, hãy comment và chia sẻ để tôi còn được học hỏi từ những góp ý của bạn.

13 bình luận + Bình luận ngay

  • Hay quá, để làm thử theo xem có sao không :D

    • Cứ nghịch đi, biết đâu sau này bác có thể thiết kế giao diện cho WordPress thì sao. Chờ tin vui của bác :D

  • Em chỉ mới tới mức chôm với lại nhái thôi, chưa tự thiết kế được đâu >:D<

  • Bài viết hay lắm :) thanks nhiều

    mình đang dùng plugin custom-post-template để tùy biến template for post h được được
    Tùy biến giao diện trang single theo category thì hay quá :)

  • Em đọc xong thấy hơi @@ bác Nhân ạ! :((

  • À! mới bê cái bài của bác sang blog em :D . Không biết bác có ý kiến gì không nữa. >:) >:)

    • Bác bê xong rồi mới hỏi em thì cũng tương tự như bác lấy của em một món đồ rồi quay lại nói : “Ê ! Tao vừa lấy của mày 1 món đồ đó, có ý kiến gì không ?” < == Đầu gấu quá đi, em nào dám có ý kiến gì :beat:

      Đùa tí ! Bác nhớ giữ liên kết về bài viết gốc là OK rồi.

      • Đa tạ , đa tạ bác. Em để cả backlink ấy chứ . ;):x

  • Thường dùng cái dynamic title và page template nhất :shot:

  • Bác Nhân ơi! Bác có thể hướng dẫn em cách rút gọn bài viết trên trang chủ và hiển thị ảnh đại diện của bài viết như site của bác ấy :) . Em muốn dùng cái theme như của bác nhưng không biết cách để nó hiển thị rút gọn bài viết trên trang chủ, loay hoay trên mạng may quá gặp được blog của bác. Thanks bác! >:D<

  • [...] được cập nhật.Bào viết đáp ứng theo yêu cầu của bạn CAA trong bài viết “Đùa” với wordpress theme. Mình nghĩ rằng bài viết này sẽ có ích cho khá nhiều [...]

  • A Nhân cho e hỏi: Khi e cài theme lấy từ qtemplate.org thì lúc up lên host xong rùi, vào acp trang web nó báo là theme lỗi vì không tìm thấy stylesheet. A có thể hướng dẫn giúp e khắc phục được không ạh ?

  • Chào Anh Nhân!
    Em có làm theo hướng dẫn “How To Create A Custom WordPress Page Template” theo video http://www.wordpressmax.com/customize-wordpress/custom-page
    Nhưng đến phần như anh nói là nghịch với Page Template đó Anh.
    Trong phần Add New Pages, sao em tìm không thấy phần Page Template để chọn phần template mình vừa tạo đó Anh.
    Em cài WP trên localhost, dùng wordpress-3.2.1. Em cũng mới vọc wp nên câu hỏi có phần gà. Mong Anh thông cảm nha!
    Trong thời gian chờ đợi tar3 lời của Anh,em xin chân thành cảm ơn!
    Thân chào Anh.

    P/S: Ah! Em có vấn đề này nữa. Như thế nào là làm HTML trên WP mà không đụng đến code PHP không Anh?

Mạng xã hội