Bóng dáng Thematic trong TwentyTen theme

  • 44 Comments
  • Share

Từ khi Wordpress thông báo ra các bản beta cho Wordpress 3.0 thì mãi đến hôm qua, TungZ mới down về để test thử trên localhost. Điều quan tâm nhất của mình đó là những cải tiến của phiên bản mới cho việc tạo theme. Ngay từ lúc quyết định học cách làm theme cho Wp thì TungZ đã đi theo con đường nghiên cứu thật kỹ theme Default đầu tiên, sau đó mới phát triển lên. Lần này cũng vẫn như vậy, vừa cài đặt xong phiên bản beta 2 là lao ngay vào Twenty theme để “vọc”. Và cũng hơi bất ngờ khi thấy vài thứ…quen quen.

Chưa bàn đến tính năng của theme mới này, trước hết ta hãy View source của nó đã. Phần này mình sẽ chỉ nói sơ qua thôi, mọi người có thể view source thật sâu để thấy giống nhau đến mức nào, nếu mà type hết các cấp bậc của nó thì dài và lằng nhằng lắm. Để dễ hình dung thì các bạn hãy xem 2 hình dưới đây (TungZ sử dụng Firebug để view trang chủ của cả 2 theme):

thematic homepage source

Kết quả khi view source của Thematic

TwentyTen homepage source

Kết quả khi view source của TwentyTen

Điểm giống nhau đầu tiên ta có thể dễ dàng nhận thấy đó là cả 2 theme này đều có cùng 1 cấu trúc:

<html>
	<head>...</head>
	<body>
		<div id="wrapper" class="hfeed">
			<div id="header">...</div>
			<div id="main">...</div>
			<div id="footer">...</div>
		</div>
	</body>
</html>

1. #header: Đều chứa #branding#access. View sâu hơn nữa ta sẽ thấy những thành phần bên trong 2 id này na ná giống nhau. Ví dụ #access thì bên trong chứa menu; #branding thì bên trong chứa blog title và blog description…

2. #main: Đều chứa #container, #primary, #secondary, tiếp tục view sâu hơn thì cũng giống nhau. Nhưng có điều hiện tại mình chưa hiểu là tại sao Twentyten lại làm 2 widget area #primary và #secondary, nếu như trong Thematic thì còn hiểu được vì nó có 3 hook ở sidebar, thuận tiện hơn trong việc thiết kế (thuận tiện thế nào thì phải làm mới hiểu được, hehe).

3. #footer: Phần này các bạn kéo thêm widget vào các widget area footer cho tường minh nhé. Ở đây #subsidiary bên Thematic tương đương với #footer-widget-area của TwentyTen.

Nếu các bạn để ý tới các widget area trong theme thì sẽ thấy, chúng đều có 1 class chung là .widget-area (trong Thematic là .aside). Ta sẽ sử dụng các class này để định nghĩa những thành phần hiển thị giống nhau trong style.css. Các widget area sẽ phân biệt với nhau thông qua id của riêng nó.
_____________________________________

Tất cả những gì mình liệt kê ở trên chỉ là bề nổi mà thôi. Cái giúp mình đi đến kết luận TwentyTen và Thematic có nhiều điểm giống nhau chính là vì code của nó. Có thể kể đến 2 điểm điển hình như sau:

- Widget area không khai báo như trước nữa, mà “nhét” các khai báo đó vào 1 hàm rồi thực hiện add_action().

- Xuất hiện thêm file loop.php. Tất cả các vòng lặp cho trang chủ, trang, chuyên mục… đều ở trong file này. Và file loop sẽ được include vào các file index.php, archive.php …. File loop.php này hoạt động cũng gần giống với content-extensions.php trong Thematic.

Ngoài ra còn có nhiều điểm nhỏ nhỏ nữa mà mình không kể ra ở đây.Bạn nào đã nghiên cứu Thematic rồi thì chắc là sẽ rõ thôi ^^ Không biết các coder khác đánh giá thế nào chứ riêng mình thấy code của theme mới này thân thiện hơn Kubrick. Ở chú thích trong theme mình thấy một số chỗ có đề cập đến việc ta có thể thay đổi lại một vài chức năng của TwentyTen bằng cách sử dụng hook. Như vậy Wordpress cũng đã sẵn sàng cho trường hợp người dùng muốn phát triển theme lên từ theme Default (cụ thể là child theme). Cái này thì Kubrick thua hoàn toàn nhé. Việc tạo child theme cho TwentyTen chắc chắn là thoải mái và dễ hơn nhiều so với Kubrick, bởi có nhiều điểm tương đồng với Thematic.

Đây mới chỉ là bản Beta 2 nên không biết TwentyTen còn thay đổi gì nữa không. Nhưng việc Ian Stewart đưa ra những ý kiến của mình về việc thiết kế theme mới và sau đó được gia nhập Automattic cũng chứng tỏ rằng đội ngũ phát triển theme của Wordpress đã “để ý” đến những gì mà Ian và Thematic mang lại cho người dùng. Vì vậy, TwentyTen có điểm giống Thematic cũng là điều dễ hiểu. Phiên bản mới của Thematic cũng đang được hoàn thành từng ngày. Với những gì đang diễn ra mình tin tương lai Thematic sẽ còn phát triển mạnh nữa.

Bạn có nghĩ Wordpress đã có một bước tiến dài với TwentyTen theme không? TungZ thì nghĩ là có đấy.

Tags: , ,

44 Comments

  1. Posted 15/05/2010 at 04:28 | Permalink

    Bài viết hữu ích :D , em đang nghịch WP 3.0 để chuyển qua cho bằng anh bằng chị :)

    • Posted 15/05/2010 at 20:01 | Permalink

      Bác chuyển đi, em vẫn thấy phục bác khoản tự code mã nguồn đấy, hehe.

      • Posted 15/05/2010 at 22:20 | Permalink

        Hihi, bác làm em ngại quá :”>

        • Posted 18/05/2010 at 13:49 | Permalink

          sao phải ngại bác, nghe câu của bác TungZ là coi như bác vào tầm ngắm của em rồi>:)

  2. Posted 15/05/2010 at 08:36 | Permalink

    Ôi mãi mà vẫn chưa down cái WP 3 về vọc nữa, có lẽ sau này nó tích hợp Thematic thành theme mặc định của WP cũng nên :)

    • Posted 15/05/2010 at 19:58 | Permalink

      Không đâu bác ah, Default theme coi như theme “tiêu chuẩn” để anh em newbie nhìn vào đó mà thiết kế hoặc độ lại thôi. Chứ framework nó liên quan nhiều đến hook, với người mới chắc là khó :D

      • Posted 16/05/2010 at 13:13 | Permalink

        Đúng là với người mới thì hơi khó, nhưng nếu biết thì làm việc với các hook “sướng” hơn

      • Posted 18/05/2010 at 13:50 | Permalink

        Mình lần đầu xài WP nghe dụ dỗ bác TungZ làm thematic giờ thấy gian lao quá đây, nhưng mà vẫn cố :D

  3. Posted 15/05/2010 at 09:19 | Permalink

    Vậy sắp tới phải ghé thăm blog của Tùng thường xuyên để học hỏi về theme rồi :D . À, mình cùng đặt liên kết nhé!

    • Posted 15/05/2010 at 19:53 | Permalink

      Vâng, bác em thêm bác vào danh sách đây.

  4. Posted 15/05/2010 at 12:18 | Permalink

    Sắp tới bác TungZ sẽ được Automattic mời về làm đì zai nờ cho các theme mặc định của WP bằng Thematic =))

    • Posted 15/05/2010 at 19:50 | Permalink

      =)) =)) =)) với ý tưởng này bác xứng đáng đc Automattic cho vào phòng phát triển kế hoạch =))

      • Posted 15/05/2010 at 19:55 | Permalink

        Em làm gì có trình độ, có gì Automattic mời bác bác gọi em vào với, bảo em là manager của bác ấy =))

  5. Posted 15/05/2010 at 13:04 | Permalink

    Em cũng đang nghiên cứu chế TwentyTen mà không nhận ra :O

    • Posted 15/05/2010 at 20:01 | Permalink

      Thì do em ngâm thằng Thematic lâu rồi nên nhìn phát là thấy quen ngay mờ :D

  6. Posted 15/05/2010 at 13:21 | Permalink

    bác Tùng đào code sâu ghê, em ” mang tiếng” là học về lập trình mà chẳng bằng người tự nhận mình là ” ngoại đạo” như bác:D

    • Posted 15/05/2010 at 14:08 | Permalink

      Đúng là như thế, bác ấy vooc dữ quá, chắc em còn chạy theo dài dài, :)

      • Posted 15/05/2010 at 20:02 | Permalink

        Ô, hôm nay bác comment trên PC ah:D thấy viết có dấu:P

    • Posted 15/05/2010 at 19:51 | Permalink

      Em ngoại đạo CNTT nhưng mà cũng là dân kỹ thuật mà bác ^^

      • Posted 16/05/2010 at 10:45 | Permalink

        Mà bác kỹ thuật gì thế bác, em nhớ không nhầm thì bác không kỹ thuật trong mảng Code mà :(

  7. Posted 15/05/2010 at 13:35 | Permalink

    Chà, cái TwentyTen hôm nay mình mới biết đến lần đầu, thông tin này rất hữu ích với mình, cảm ơn cậu :D

    • Posted 15/05/2010 at 19:59 | Permalink

      Thì nó đi kèm trong bản Beta của Wordpress 3.0 mà bác. Thanks bác đã ghé blog em

  8. Posted 15/05/2010 at 17:50 | Permalink

    HuhU! Bác TungZ cứ làm thế này rồi sẽ có lúc anh em bị dụ dỗ theo hết Thematic cho mà xem =))

    • Posted 15/05/2010 at 19:52 | Permalink

      =)) chú có bỏ Genesis ko thế =)) anh đợi mấy bài review hơi lâu rồi đấy :-w

  9. Posted 15/05/2010 at 19:17 | Permalink

    Cũng ko có gì quá ngạc nhiên vì chính Ian Stewart (người tạo ra Thematic) là người tạo ra Twenty Ten. Ian giờ đã là người của Automattic mà :D
    Tất nhiên chỉ giống một phần về cấu trúc html và css thôi còn bản chất Twenty Ten vẫn là một theme đơn thuần chứ ko phải Framework.
    P/s Trong Twenty Ten chứa khá nhiều hàm mới của WP 3.0 mà thậm chí codex cũng chưa cập nhập, bác nào quan tâm thì nên tìm hiểu, rất hay đấy

    • Posted 15/05/2010 at 19:50 | Permalink

      Anh nói hoàn toàn chính xác. Cái này đơn thuần là 1 theme thôi. Nhưng như em nói ở trên, việc Ian vào được Automattic cũng là nhờ ý tưởng của mình cho theme default mới. Những ý tưởng này chắc chắn có bao hàm cái hay của Thematic trong đó.

      Phải công nhận WP là mã nguồn mạnh nhất, vì càng ngày càng “biết lắng nghe” nhu cầu và thị hiếu của các blogger. Theme mới tập hợp khá nhiều tinh túy của các designer trên thế giới. Cái menu dựa trên Woonav là 1 ví dụ.

      Các hàm mới em chỉ hiểu 1 số, còn lại phải đọc thêm. Anh Hưng chắc đang luyện công, chuẩn bị tái xuất giang hồ với võ học mới tham ngộ ;) ) he he.

      • Posted 16/05/2010 at 09:17 | Permalink

        Woonav đánh dấu một bước ngoặt khi lần đầu tiên Wordpress và một hãng phát triển theme bắt tay với nhau để đưa một tiện ích tích hợp vào nhân của Wordpress.Điều này sẽ tạo ra một tiền lệ và có thể trong tương lai sẽ có rất nhiều thứ hay ho sẽ được đưa vào WP từ bên ngoài chứ ko chỉ là do team của WP tạo ra nữa.
        Chúng ta sẽ chính là những người hưởng lợi từ việc này

  10. Posted 15/05/2010 at 21:31 | Permalink

    wp công nhận load nhanh kinh, tối ưu nữa thì càng nhanh :”>

  11. Posted 16/05/2010 at 15:49 | Permalink

    TwentyTen được Ian Stewart thiết kế trước đây với tên gọi là Kirby, trước nó đã có trên bộ sưu tập themes của Wordpress ( http://wordpress.org/extend/themes/kirby) . moi người có thể xem Một số thông tin về việc thiết kế theme default cho WP 3.0 tại blog của Ian (http://themeshaper.com/new-default-theme-wordpress-kirby/)

    Chưa nói đến khả năng tùy chỉnh của nó, nhưng mới nhìn là em đã muốn dùng nó luôn rồi ^^

  12. Posted 17/05/2010 at 14:34 | Permalink

    WP 3.0 công nhận có nhiều cái mới thật :D

    • Posted 17/05/2010 at 20:30 | Permalink

      Em vừa test bản beta xong. Đúng là good bác à :)

  13. Posted 19/05/2010 at 17:10 | Permalink

    Bữa nào nhờ bác Tùng ngâm cứu themes của em dùng chắc bác sẵn lòng giúp nhứ nhỉ?

    • Posted 19/05/2010 at 18:11 | Permalink

      Mình đang đợt bác Tung tốt nghiệp cái là sán vào nhờ vả bác ấy đây

      • Posted 19/05/2010 at 18:34 | Permalink

        Bác định tranh xuất tranh quyền với em đấy à?

        • Posted 19/05/2010 at 22:45 | Permalink

          Mình với bạn cùng nhờ, tình hình là tớ muốn mời bác TungZ trận beer giải khát, bác có đi cùng với mình không ?

      • Posted 22/05/2010 at 21:49 | Permalink

        Bác Mèo thông cảm cho em với nhé. Em bận túi bụi:( chưa trả lời bác được. Hic

    • Posted 22/05/2010 at 21:48 | Permalink

      Tình hình là em đang lụt đồ án nghiêm trọng, công thêm 1 số công việc nữa nên dạo này bận điên cuồng :(

  14. Posted 20/05/2010 at 21:15 | Permalink

    em thì cứ đợi bản chính thức thôi, vừa rồi mới ra bản 3.02 mà

  15. Posted 22/05/2010 at 22:07 | Permalink

    Đợi thế đến bao giờ nhỉ, e cứ xài 2.9

  16. Posted 24/05/2010 at 16:25 | Permalink

    À ! bác tùng ơi, tớ vừa thay theme , tiếnc rằng lại lỗi ở thành phần cơ bản của theme là khung comment, bác xem có cách nào cứu cánh tớ với, hjx hjx ! Mấy hôm nay traffic giảm ghê quá ! Comment nó cứ xuất hiện 2 lần và trông như giở hơi ấy, bác vào một bài nào đó của tớ mà có nhiều comment ấy, bác sẽ nhìn thấy rõ !

  17. Posted 25/05/2010 at 16:55 | Permalink

    Bác Tungzcho em hỏi làm thế nào để đưa menu lên top page như theme của bác đc ? em mò hoài mà chưa đc, :D

    • Posted 25/05/2010 at 23:51 | Permalink

      Bác để ý các priority (độ ưu tiên) của các hàm trong header nhé. Ví dụ của thematic_access (cái menu page) là 9. Bây giờ bác phải remove_action cái hàm đấy đi. Sau đó add_action lại với đô ưu tiên là 0.

      Bác đọc thêm về priority trong bài giới thiệu về hook của em nhé :D hoặc bác có thể lên Codex tìm sẽ thấy chi tiết hơn.

      • Posted 26/05/2010 at 18:39 | Permalink

        OH ! cảm ơn bác nhiều nhé ! em làm được rồi ^^

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>