Hôm nay mình sẽ hướng dẫn các bạn tạo một slider cho từng chuyên mục hay Feature gì tùy vào cách nghĩ và hành động của từng bạn.
Bài viết này khắc phục được những thiếu sót đáng quan tâm mà bài viết trước đã làm nhưng chắc chắn là không khỏi thiếu sót.
Demo :

Còn đây là mình tùy chỉnh cho khác với mọi người một tý.

Hướng dẫn:
Bước 1 : Đầu tiên bắt đầu với tệp tin header.php
Bạn thêm đoạn code dưới vào trước tags </head>.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.3/jquery-ui.min.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
$("#featured > ul").tabs({fx:{opacity: "toggle"}}).tabs("rotate", 5000, true);
});
</script>
Bước 2 : Chèn đoạn CSS dưới vào tệp tin giao diện .CSS ( style.css chẳng hạn ) của blog bạn.
#featured{
width:400px;
padding-right:250px;
position:relative;
border:5px solid #ccc;
height:250px;
background:#fff;
}
#featured ul.ui-tabs-nav{
position:absolute;
top:0; left:400px;
list-style:none;
padding:0; margin:0;
width:250px;
}
#featured ul.ui-tabs-nav li{
padding:1px 0; padding-left:13px;
font-size:12px;
color:#666;
}
#featured ul.ui-tabs-nav li img{
float:left; margin:2px 5px;
background:#fff;
padding:2px;
border:1px solid #eee;
}
#featured ul.ui-tabs-nav li span{
font-size:11px; font-family:Verdana;
line-height:18px;
}
#featured li.ui-tabs-nav-item a{
display:block;
height:60px;
color:#333; background:#fff;
line-height:20px;
}
#featured li.ui-tabs-nav-item a:hover{
background:#f2f2f2;
}
#featured li.ui-tabs-selected{
background:url('images/selected-item.gif') top left no-repeat;
}
#featured ul.ui-tabs-nav li.ui-tabs-selected a{
background:#ccc;
}
#featured .ui-tabs-panel{
width:400px; height:250px;
background:#999; position:relative;
}
#featured .ui-tabs-panel .info{
position:absolute;
top:180px; left:0;
height:70px;
background: url('images/transparent-bg.png');
}
#featured .info h2{
font-size:18px; font-family:Georgia, serif;
color:#fff; padding:5px; margin:0;
overflow:hidden;
}
#featured .info p{
margin:0 5px;
font-family:Verdana; font-size:11px;
line-height:15px; color:#f0f0f0;
}
#featured .info a{
text-decoration:none;
color:#fff;
}
#featured .info a:hover{
text-decoration:underline;
}
#featured .ui-tabs-hide{
display:none;
}
Bước 3 : Có hai cách chèn slider, một là chèn trực tiếp vào tệp tin index.php, hai là tạo một tệp tin khác chứa slider và từ tệp tin index.php gọi tệp tin đó lên .
Mình giới thiệu về cách hai :
Tạo một tệp tin slider.php trong thư mục theme của bạn đang dùng và dùng code để gọi tệp tin đó :
Code :
<?php include ('slider.php'); ?>

Cách 1 chính là chèn trực tiếp toàn bộ code bên trong slider.php vào tệp tin index.php .

Cách làm :
Bạn mở index.html tệp tin đính kèm thấy có những đoạn code tương tự được lặp lại thì mình sẽ rút gọn nó lại để thực hiện như ở dưới đây.
<div id="featured" > <ul class="ui-tabs-nav"> <li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-1"><a href="#fragment-1"><img src="images/image1-small.jpg" alt="" /><span>15+ Excellent High Speed Photographs</span></a></li> </ul> <div id="fragment-1" class="ui-tabs-panel" style=""> <img src="images/image1.jpg" alt="" /> <div class="info" > <h2><a href="#" >15+ Excellent High Speed Photographs</a></h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tincidunt condimentum lacus. Pellentesque ut diam....<a href="#" >read more</a></p> </div> </div> </div>
Nếu chèn như đoạn code trên vào slider.php và thêm thắt bằng html thì trên trang chủ chỉ thể hiện slider đúng như những gì mà ta tự chèn vào ..Để tự cập nhật bài viết mình phải dựa vào loop trong wordpress ( Đại khái là vậy :D )
<div id="featured" >
<ul class="ui-tabs-nav">
<?php
$featuredPost = new WP_Query();$featuredPost->query('showposts=4&cat=10');while($featuredPost->have_posts()) : $featuredPost->the_post();?>
<li class="ui-tabs-nav-item" id="nav-fragment-<?php the_ID(); ?>"><a href="#fragment-<?php the_ID(); ?>"><img src="<?php echo get_post_meta($post->ID, "Feature", true);?>" height="50" width="80" alt="" /><span><?php the_title(); ?></span></a></li>
<?php endwhile; ?>
</ul>
<?php
$featuredPost = new WP_Query();$featuredPost->query('showposts=4&cat=10');while($featuredPost->have_posts()) : $featuredPost->the_post();?>
<div id="fragment-<?php the_ID(); ?>" class="ui-tabs-panel ui-tabs-hide" style="">
<img src="<?php echo get_post_meta($post->ID, "Feature", true);?>" height="250" width="400" alt="" />
<div class="info" >
<h2><a href="<?php the_permalink(); ?>" ><?php the_title(); ?></a></h2>
<p><?php the_excerpt(); ?><a href="<?php the_permalink(); ?>" >read more</a></p>
</div>
</div>
<?php endwhile; ?>
</div>
Trong đoạn code trên có đoạn code (‘showposts=4&cat=10′) và ($post->ID, “Feature”, true) được lập lại hai lần, và bạn khi bạn chỉnh một trong hai thì phải chỉnh cả code còn lại.
showposts=4 => Số bài viết sẽ hiển thị
cat=10 => Chuyên mục sẽ hiện bài viết
Feature => là Fields mà bạn điền trong phần Custom Fields trong bài viết .
Gợi ý : Hãy xem hình dưới

Ảnh to : http://www.eblogviet.com/wp-content/uploads/2011/08/5.png
Feature trong đoạn code P1 và P2 có thể là hai Fields khác nhau bạn hay bạn có thể tùy chỉnh phù hợp với blog mình .
Còn riêng mình dùng 1 Fields là Feature vì mình dùng Timthumb để tùy chỉnh kích thước ảnh tự động nên sẽ đỡ tốt băng thông nếu chọn ảnh ở P1 quá lớn hay tăng kích thước ảnh ở như P2 do quá bé .
Mình không có thời gian để giải thích từng chi tiết tại sao chèn, và mình không có khiếu trong tạo video hướng dẫn nên các bạn thông cảm.
Hãy save lại và xem kết quả nhé !
Công việc dạo này bận rộn quá, không có nhiều ý tưởng mới nhưng vẫn còn những ấp sáng kiến chưa thành.
Cũng như yêu cầu từ bạn nguyenphuong.vn và mình cũng gửi đến các bạn đang bước chân vào wordpress.



{ 58 comments… read them below or add one }
Bài viết rất công phu, đáng để học hỏi nhiều ở bạn, vào blog của bạn thấy nhiều điều bổ ích
Bác Thái Nguyên ơi, thế có slide nào chèn vào bài viết không?
Em muốn mỗi bài viết có 1 slide, mà ảnh ở mỗi bài viết lại khác nhau tùy theo ý mình.
Phú Thọ gọi Thái Nguyên.. Lol
Chắc hẳn là có cách, nhưng theo mình mỗi bài viết có 1 slide như thế sẽ hơi rườm.
Việc phải có thôi bạn ạ. :D
http://suachuadandung.com muốn add hình ảnh hoạt động của nhân viên công ty trong mỗi phần dịch vụ ấy mà.
sử dụng html trên từng bài viết tương tự như hướng dẫn ở trên thôi chứ có gì đâu khó đâu bác.
Bac Lê Hoàng đang sài blog nào thế? Em wanlunblog ngày xưa ý mà.
Vâng để mai em thử, giờ phê quá rồi. Haizzz
anh ơi tìm được cách slide cho từng bài viết chưa anh, nếu được chỉ em với, hi :d
Bài viết này rất hữu ích cho những bạn muốn add thêm cái slider, nhưng làm vậy, blog load chậm hơn thì phải./.
Đó là điều chắc chắn nhưng phải “hy sinh vì nghệ thuật” thôi
Cái này cũng nhẹ nên không ảnh hưởng lắm nhất là trong đường truyền adsl hiện nay !
Cứ thử xem
Trùi, giờ seo đỉnh rồi, đường truyền 2G cũng vào tốt ấy chứ.
Mình không chèn Timthumb vì cái này không khó nên để mọi người tìm hiểu thêm sẽ có thêm kinh nghiệm
Cám ơn bạn Thái Nguyên và Eblogviet đã chia sẻ ! Nếu có gì chưa hiểu mình sẽ hỏi lại nhé !
Bên eblogviet có bác nào sành sỏi về blogger không?
Hôm trước có thèn bạn hỏi cái này mà không biết
Kêu nó vào đây mới đc :)
Chỉ việ copy và past thôi mà cậu
Hình như cậu trả lời nhầm người.
Đáng lẽ câu này phải dành cho comment ở dứoi
Đúng là nhầm thật !!!Sorry
Rút kinh nguyệt nhé. Á nhầm kinh nghiệm
Cũng khá là khó làm nhỉ, nhìn phức tạp
Đồng ý với ý kiến của @trang, Ae người giỏi việc này, người chuyên việc kia nên tập hợp lại hỗ trợ lẫn nhau. Nhưng có lẽ trước tiên ae cần quen biết nhau cái đã. :D
Và đặc biệt là không lừa đảo, ai lừa đảo chém chết luôn.
Mình thừa sức để gửi lên nhiều mẫu slider và cách làm nhưng để học hỏi và nãy ra ý tưởng thì tốt hơn !
Cách mình làm ở trên là khác đơn giãn có thể áp dụng được vào nhiều mẫu slider trong khi những cái có trên mạng đa phần riêng lẽ mà thôi !
Đúng đấy. Giúp đỡ nhau thôi, cần chi phải lấy tiền
Cung cấp cần câu và chỗ câu để họ câu cá suốt đời
Cái này hay đấy, nhưng đúng là mình cũng băn khoăn vấn đề load site! Ngoài ra có thể làm nhiều kiểu temp phong phú và phổ biến hơn được không?
Bạn có thể nói rõ hơn ?
Khi đã hiểu phần nào về WP thì rất là dễ, chỉ là triệt để đế khắc phục những yếu tố phụ thì khó thôi !
Í mình là việc như ở đầu bài bạn tùy biến cho khác đi chút, có thể có các template mẫu để tạo ra các cách trình bày khác nhau cho phong phú thêm không ấy?
Tiếc là không còn theo đuổi wordpress nếu không thì cũng thử dùng thủ thuật này
hay quá Anh Tình ơi! Em tìm hoài cuối cùng cũng có cách. Thanks anh
Cái đấy dùng Nivo Slider, bạn kiếm google sẽ thấy.
Sao tác giả toàn chèn code vào các thành phần của template không vậy nhỉ : header, index,… Sao bác không dùng hook và tập trung hết code vào functions.php ?
đồng ý quan điểm.
Trước mình thói quen tạo 1 file riêng ( tránh động tới code gốc )
sau đó khai báo trong function, và code trên file riêng.
sau thấy rườm rà, tương hết vào function
Anh Việt Coding ơi cho em hỏi tí với, Thanh Sidebar, để cho Những Page bên Sidebar, khi nào mình trỏ chuột zô thì mới hiện ra trang con cua Page đó,hướng dẫn em với, làm zây để cho đẹp trang web, vì web e nhiều sản phẩm bên Sidebar, mong anh giúp đỡ và hồi âm, thanks anh trước,:D
slider mang phong cách cho news, magazine…vừa là điểm nhấn.
Thấy blog cá nhân của designer hoặc home page mục đích thông báo hay sử dụng.
Phát triển thành một plugin cho anh em mù mờ code dùng đỡ cực thì tốt quá bác à
Plugin Slider cho Wordpress thì thiếu gì hả bác
khi nào chuyển hệ thì sẽ dùng thử của bác
làm theo tồi nhưng chưa được, ^^ chắc kiếm plugin thoi
Có cái plugin gì gì đó cũng làm side desk được nhưng mà quên mất rồi…., nhưng nói chung dân không chuyên code thì dùng plugin là tốt nhất bác nhỉ
Thực sự cách này dân không biết về lập trình cũng hoang mang không kém. Nhưng thật sự là rất hay ^^
Thật sự cách trên cũng hơn dỡ về code nhưng xét thì cũng không tệ vì ..Quên chèn câu lệnh để mổi lần edit một chổ cho tiện
Dùng cách này để làm cho source make in tại tui cũng được
Bài viết của bạn thật là hay quá. Mình dùng Plugin Slider cho WordPress cũng tương tự đúng ko bác :)
Mình nghỉ plugin cũng tốt nhưng mình đã thử tìm rất nhiều nhưng sẽ khó có cái mình ưng ý !
Nếu làm bằng tay và quen thì nâng cao tay nghề về wordpress hơn cũng như thích chèn đâu thì chèn .
cho em hỏi tí với, Thanh Sidebar, để cho Những Page bên Sidebar, khi nào mình trỏ chuột zô thì mới hiện ra trang con cua Page đó,hướng dẫn em với
Có bác nào code giỏi cho mình hỏi tí, Mình dùng widget “genesis-featured-widget-amplified” để hiện bài viết với thumbnail ở trang chủ trong [ Serenity Child Theme] của Genesis , nhưng nó chỉ đếm số kí tự để cho hiển thị thôi, với đặc thù site mình là cần hiển thị theo từng dòng, dòng nào hết thì xuống dòng ( chứ ko phải 1 đoạn ) Mình muốn làm như vậy thì cần chỉnh sửa gì? rất mong được sự giúp đơ của các Bác, Mình xin cám ơn rất nhiều. Xin bác Tỉnh liên hệ với mấy bác khác giúp mình với.
Thử làm xem thế nào? Không biết mình có làm đc hok?
có chỗ không hiểu
file *.html làm gì có chứ
thank đã hướng dẫn
mọi người cho em hỏi với, genesis, Thanh Primary Sidebar, để cho Những Page trong Primary Sidebar, khi nào mình trỏ chuột zô thì mới hiện ra trang con cua Page đó, mọi người hướng dẫn em với, làm zây để cho đẹp trang web, vì web e nhiều sản phẩm bên Primary Sidebar wa,thanks, hi
Code hay, mình đang học WordPress
Bài viết hay! Trc giờ toàn xài theme có sẵn slider thôi, chưa tự tạo ra bao giờ :(
Bài viết rất hay và bổ ích, thank bạn rất nhiều
Chào bạn!
Bài viết của bạn rất hay và bổ ích, mình đã làm theo hướng dẫn và đã làm được. Tuy nhiên ở phần chữ phía ô lớn, minh loay hoay mãi cũng không thể nào tạo được khung đen mờ phía sau chữ. Có thể do mình chưa style được, bạn vui lòng chỉ giúp mình được không, mình xin cảm ơn nhiều.
{ 1 trackback }