Chủ nhật, ngày 07 tháng ba năm 2010

[TheSis Tut] Tự lấy ảnh trong bài viết.

Đây là phiên bản lưu trữ của bài viết [TheSis Tut] Tự lấy ảnh trong bài viết. được đăng trên Hư Trúc Blog

Dạo này bận rộn quá nên cũng chẳng viết được bài nào. Tranh thủ viết bài cho đỡ trống blog (Viết xong lại off khoảng 1 tuần nữa). Nội dung bài viết này là gì? Thông thường khi viết bài bạn cần phải add custom field để hiển thị ảnh. Bài viết này sẽ hướng dẫn các bạn thực hiện việc này một cách tự động (bạn vẫn có thể dùng cách thủ công). Code được trích từ code của HuTek và được HT edit lại.

Bạn thêm đoạn code sau vào file custom_functions.php.

[php] /******************************************************************** Get image attach ********************************************************************/ function img($width,$height) { global $post; $custom_field_value = get_post_meta($post->ID, 'thesis_post_image', true); $custom_field_value_3 = get_post_meta($post->ID, 'thesis_thumb', true); $custom_field_value_2 = get_post_meta($post->ID, 'out_image', true); $attachments = get_children( array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'numberposts' => 1) ); if ($custom_field_value == true) { $img_url = parse_url($custom_field_value,PHP_URL_PATH); print '<img src="'.get_template_directory_uri().'/custom/phpthumb/phpThumb.php?src='.$img_url.'&amp;w='.$width.'&amp;h='.$height.'&amp;zc=T&amp;q=70" alt="'.$post->post_title.'" />'; } elseif ($custom_field_value_3 == true) { $img_url = parse_url($custom_field_value_3,PHP_URL_PATH); print '<img src="'.get_template_directory_uri().'/custom/phpthumb/phpThumb.php?src='.$img_url.'&amp;w='.$width.'&amp;h='.$height.'&amp;zc=T&amp;q=70" alt="'.$post->post_title.'" />'; } elseif ($custom_field_value_2 == true) { print '<img src="'.$custom_field_value_2.'" alt="'.$post->post_title.'" />'; } elseif ($attachments == true) { foreach($attachments as $id => $attachment) { $img = wp_get_attachment_image_src($id, 'full'); $image = $image[0]; $img_url = parse_url($img[0], PHP_URL_PATH); print '<img src="'.get_template_directory_uri().'/custom/phpthumb/phpThumb.php?src='.$img_url.'&amp;w='.$width.'&amp;h='.$height.'&amp;zc=T&amp;q=70" alt="'.$post->post_title.'" />'; } } else { $img = get_template_directory_uri(); $img_url = parse_url($img,PHP_URL_PATH); print '<img src="'.get_template_directory_uri().'/custom/phpthumb/phpThumb.php?src='.$img_url.'/custom/images/no_image.jpg&amp;w='.$width.'&amp;h='.$height.'&amp;zc=T&amp;q=70" alt="'.$post->post_title.'" />'; } } [/php]

Giải thích:

Trong đoạn code trên sẽ ưu tiên lấy ảnh trong phần post image của thesis, post thumb, ảnh từ host bên ngoài (sử dụng custom field out_image), cuối cùng là lấy ảnh đầu tiên trong bài viết.

Như vậy là xong phần lấy ảnh. Bây giờ để hiển thị ảnh thì tùy bạn thích đặt ở đâu thì bạn sử dụng openhook để thêm vào nhé. HT sẽ ví dụ mẫu một vị trí mà các bạn thường gặp nhất. Thêm ảnh thumb bên dưới tiêu đề bài viết teaser.

Để không hiển thị ảnh mặc định của thesis

Bạn edit file teasers.php trong lib\functions. Thay nội dung của dòng thứ 42 bằng đoạn sau:

[php] $post_image = '';//thesis_post_image_info('thumb'); [/php] Thêm ảnh vào bên dưới tiêu đề bài viết teaser

Bạn thêm đoạn code sau vào file custom_functions.php.

[php] /******************************************************************** Add picture teaser ********************************************************************/ add_action('thesis_hook_after_teaser_headline', 'thumb_teaser'); function thumb_teaser() { ?> <div class="thumb"> <a href="<?php the_permalink() ?>" title="Permanent Link to <?php the_title_attribute(); ?>"><?php img(100,100) ?></a> </div> <?php } [/php]

Trong đoạn code trên bạn có thể thay 100 bằng giá trị khác để có ảnh lớn hoặc nhỏ hơn tùy thích. Bạn cũng có thể thêm CSS để cho nổi bật ảnh thumb hơn.

Chúc bạn thành công!

P/s: Do trong đoạn code trên có sử dụng phpThumb để resize ảnh nên bạn cần có phpThumb đặt bên trong thư mục custom nhé. phpThumb có thể tìm trên mạng hoặc đown tại đây.

Đây là phiên bản lưu trữ của bài viết [TheSis Tut] Tự lấy ảnh trong bài viết. được đăng trên Hư Trúc Blog

Lưu ý: Hư Trúc không trả lời phản hồi của các bạn trên blog này. Bạn vui lòng vào đây để được hổ trợ.


Copyright ©2010 by Hư Trúc Blog | Nghiêm cấm sao chép, phát tán lại dưới mọi hình thức khi chưa được sự đồng ý từ Hư Trúc

Chủ nhật, ngày 28 tháng hai năm 2010

Hướng dẫn tự resize ảnh cho Cu3er

Đây là phiên bản lưu trữ của bài viết Hướng dẫn tự resize ảnh cho Cu3er được đăng trên Hư Trúc Blog

Đây là phiên bản lưu trữ của bài viết Hướng dẫn tự resize ảnh cho Cu3er được đăng trên Hư Trúc Blog

Lưu ý: Hư Trúc không trả lời phản hồi của các bạn trên blog này. Bạn vui lòng vào đây để được hổ trợ.


Copyright ©2010 by Hư Trúc Blog | Nghiêm cấm sao chép, phát tán lại dưới mọi hình thức khi chưa được sự đồng ý từ Hư Trúc

Thứ bảy, ngày 27 tháng hai năm 2010

[TheSis Tut] Tạo trang lưu trữ bài viết và Sitemap

Đây là phiên bản lưu trữ của bài viết [TheSis Tut] Tạo trang lưu trữ bài viết và Sitemap được đăng trên Hư Trúc Blog

Để bạn đọc tiện xem lại các bài viết cũ theo năm tháng,... Chúng ta thường tạo một trang lưu trữ bài viết hoặc sitemap. Để thực hiện việc này, bạn có thể dùng các plugin hổ trợ. Tuy nhiên, bài viết này sẽ giúp bạn thực hiện việc này mà không phải dùng đến plugin. Bài viết này đã được HT tìm thấy trên net khá lâu do đó không nhớ chính xác link nguồn gốc (Nếu tìm lại được sẽ bổ sung sau).

Các bước thực hiện.

Đăng nhập vào phần quản trị, tạo thêm một trang mới với tên là Lưu trữ (hoặc sitemap). Ghi nhớ id của trang này.

Thêm đoạn code sau vào file custom_functions.php:

[php] /***** SITEMAP AND ARCHIVES PAGES http://hutruc.com *****/ remove_action('thesis_hook_archives_template', 'thesis_archives_template'); add_action('thesis_hook_after_post', 'my_own_sitemap_archives'); function my_own_sitemap_archives() { if (is_page('41')) { ?> <div class="sitemap"> <div class="sitemapl"> <h3>Pages:</h3> <ul> <?php wp_list_pages('title_li='); ?> </ul> <h3>By Month:</h3> <ul> <?php wp_get_archives('type=monthly'); ?> </ul> <h3>By Category:</h3> <ul> <?php wp_list_categories('sort_column=name&title_li='); ?> </ul> </div> <div class="sitemapr"> <h3>Last 50 posts:</h3> <ul> <?php wp_get_archives('type=postbypost&limit=50'); ?> </ul> </div> </div> <?php } } /***** #SITEMAP AND ARCHIVES PAGES http://hutruc.com *****/ [/php]

Bạn cần thay thế 41 trong đoạn code trên [ is_page('41') ] bằng id của trang lưu trữ (hoặc sitemap).

Thêm đoạn CSS sau vào custom.css của theme.

[css] /***** SITEMAP AND ARCHIVES PAGES http://hutruc.com *****/ /* My own sitemap and archives page */ .custom .sitemap h3 {margin-top: 0;} .custom .sitemap ul {font-size: .85em; } .custom .sitemapl { float: left; width: 40%;} .custom .sitemapr { float: right; width: 60%;} /***** #SITEMAP AND ARCHIVES PAGES http://hutruc.com *****/ [/css]

Demo: http://hutruc.com/archives/

Vậy là xong. Chúc bạn thành công.

P/s: Bạn cũng có thể edit lại một tý để sử dụng cho các theme khác.

Đây là phiên bản lưu trữ của bài viết [TheSis Tut] Tạo trang lưu trữ bài viết và Sitemap được đăng trên Hư Trúc Blog

Lưu ý: Hư Trúc không trả lời phản hồi của các bạn trên blog này. Bạn vui lòng vào đây để được hổ trợ.


Copyright ©2010 by Hư Trúc Blog | Nghiêm cấm sao chép, phát tán lại dưới mọi hình thức khi chưa được sự đồng ý từ Hư Trúc

Thứ sáu, ngày 26 tháng hai năm 2010

[TheSis Tut] Tạo trang lưu trữ bài viết và Sitemap

Đây là phiên bản lưu trữ của bài viết [TheSis Tut] Tạo trang lưu trữ bài viết và Sitemap được đăng trên Hư Trúc Blog

Để bạn đọc tiện xem lại các bài viết cũ theo năm tháng,... Chúng ta thường tạo một trang lưu trữ bài viết hoặc sitemap. Để thực hiện việc này, bạn có thể dùng các plugin hổ trợ. Tuy nhiên, bài viết này sẽ giúp bạn thực hiện việc này mà không phải dùng đến plugin. Bài viết này đã được HT tìm thấy trên net khá lâu do đó không nhớ chính xác link nguồn gốc (Nếu tìm lại được sẽ bổ sung sau).

Các bước thực hiện.

Đăng nhập vào phần quản trị, tạo thêm một trang mới với tên là Lưu trữ (hoặc sitemap). Ghi nhớ id của trang này.

Thêm đoạn code sau vào file custom_functions.php:

[php] /***** SITEMAP AND ARCHIVES PAGES http://hutruc.com *****/ function my_own_sitemap_archives() { if (is_page('41')) { ?> <div class="sitemap"> <div class="sitemapl"> <h3>Pages:</h3> <ul> <?php wp_list_pages('title_li='); ?> </ul> <h3>By Month:</h3> <ul> <?php wp_get_archives('type=monthly'); ?> </ul> <h3>By Category:</h3> <ul> <?php wp_list_categories('sort_column=name&title_li='); ?> </ul> </div> <div class="sitemapr"> <h3>Last 50 posts:</h3> <ul> <?php wp_get_archives('type=postbypost&limit=50'); ?> </ul> </div> </div> <?php } } /***** #SITEMAP AND ARCHIVES PAGES http://hutruc.com *****/ [/php]

Bạn cần thay thế 41 trong đoạn code trên [ is_page('41') ] bằng id của trang lưu trữ (hoặc sitemap).

Thêm đoạn CSS sau vào custom.css của theme.

[css] /***** SITEMAP AND ARCHIVES PAGES http://hutruc.com *****/ /* My own sitemap and archives page */ .custom .sitemap h3 {margin-top: 0;} .custom .sitemap ul {font-size: .85em; } .custom .sitemapl { float: left; width: 40%;} .custom .sitemapr { float: right; width: 60%;} /***** #SITEMAP AND ARCHIVES PAGES http://hutruc.com *****/ [/css]

Demo: http://hutruc.com/archives/

Vậy là xong. Chúc bạn thành công.

P/s: Bạn cũng có thể edit lại một tý để sử dụng cho các theme khác.

Đây là phiên bản lưu trữ của bài viết [TheSis Tut] Tạo trang lưu trữ bài viết và Sitemap được đăng trên Hư Trúc Blog

Lưu ý: Hư Trúc không trả lời phản hồi của các bạn trên blog này. Bạn vui lòng vào đây để được hổ trợ.


Copyright ©2010 by Hư Trúc Blog | Nghiêm cấm sao chép, phát tán lại dưới mọi hình thức khi chưa được sự đồng ý từ Hư Trúc

[TheSis Tut] Tạo trang lưu trữ bài viết và Sitemap

Đây là phiên bản lưu trữ của bài viết [TheSis Tut] Tạo trang lưu trữ bài viết và Sitemap được đăng trên Hư Trúc Blog

Để bạn đọc tiện xem lại các bài viết cũ theo năm tháng,... Chúng ta thường tạo một trang lưu trữ bài viết hoặc sitemap. Để thực hiện việc này, bạn có thể dùng các plugin hổ trợ. Tuy nhiên, bài viết này sẽ giúp bạn thực hiện việc này mà không phải dùng đến plugin. Bài viết này đã được HT tìm thấy trên net khá lâu do đó không nhớ chính xác link nguồn gốc (Nếu tìm lại được sẽ bổ sung sau).

Các bước thực hiện.

Đăng nhập vào phần quản trị, tạo thêm một trang mới với tên là Lưu trữ (hoặc sitemap). Ghi nhớ id của trang này.

Thêm đoạn code sau vào file custom_functions.php:

Bạn cần thay thế 41 trong đoạn code trên [ is_page('41') ] bằng id của trang lưu trữ (hoặc sitemap).

Thêm đoạn CSS sau vào custom.css của theme.

Demo: http://hutruc.com/archives/

Vậy là xong. Chúc bạn thành công.

P/s: Bạn cũng có thể edit lại một tý để sử dụng cho các theme khác.

Đây là phiên bản lưu trữ của bài viết [TheSis Tut] Tạo trang lưu trữ bài viết và Sitemap được đăng trên Hư Trúc Blog

Lưu ý: Hư Trúc không trả lời phản hồi của các bạn trên blog này. Bạn vui lòng vào đây để được hổ trợ.


Copyright ©2010 by Hư Trúc Blog | Nghiêm cấm sao chép, phát tán lại dưới mọi hình thức khi chưa được sự đồng ý từ Hư Trúc

Phân trang trong TheSiS

Đây là phiên bản lưu trữ của bài viết Phân trang trong TheSiS được đăng trên Hư Trúc Blog

TheSis Tips

Mặc định, Ở trang chủ của TheSis theme sẽ hiển thị "← Previous Entries" và "Next Entries →" để điều hướng bài viết. Tất nhiên, như vậy sẽ không tiện cho người đọc. Bằng cách phân trang người đọc sẽ nhanh chóng di chuyển đến một trang bất kỳ. Trong bài này, Hư Trúc sẽ hướng dẫn cách bạn thực hiện điều này.

Thủ thuât này Hư Trúc dựa theo hướng dẫn của Ashwin và đã thêm vào code phân trang (không dùng plugin nữa).

Các bước thực hiện

1.Thêm code vào custom_functions.php

Thêm đoạn code sau vào bên dưới file custom_functions.php. Bạn vào TheSIS Options -> Custom File Editor. Chọn file custom_functions.php trong hộp và nhấn Edit selected file. (Nên lưu dự phòng trước khi chỉnh sửa)

[php]<br /> /***** pagenavi http://hutruc.com *****/<br /> function page_navi($before = '', $after = '') {<br /> global $wpdb, $htrwpblog_query;</p> <p> $request = $htrwpblog_query-&gt;request;<br /> $posts_per_page = intval(get_query_var('posts_per_page'));<br /> $paged = intval(get_query_var('paged'));<br /> $numposts = $htrwpblog_query-&gt;found_posts;<br /> $max_page = $htrwpblog_query-&gt;max_num_pages;</p> <p> if(empty($paged) || $paged == 0) {<br /> $paged = 1;<br /> }<br /> $pages_to_show = 5;<br /> $pages_to_show_minus_1 = $pages_to_show-1;<br /> $half_page_start = floor($pages_to_show_minus_1/2);<br /> $half_page_end = ceil($pages_to_show_minus_1/2);<br /> $start_page = $paged - $half_page_start;<br /> if($start_page &lt;= 0) {<br /> $start_page = 1;<br /> }<br /> $end_page = $paged + $half_page_end;<br /> if(($end_page - $start_page) != $pages_to_show_minus_1) {<br /> $end_page = $start_page + $pages_to_show_minus_1;<br /> }<br /> if($end_page &gt; $max_page) {<br /> $start_page = $max_page - $pages_to_show_minus_1;<br /> $end_page = $max_page;<br /> }<br /> if($start_page &lt;= 0) {<br /> $start_page = 1;<br /> }</p> <p> echo $before.'&lt;div class=&quot;page_navi&quot;&gt;'.&quot;\n&quot;;<br /> if ($start_page &gt;= 2 &amp;&amp; $pages_to_show &lt; $max_page) {<br /> $first_page_text = &quot;First&quot;;<br /> echo '&lt;a href=&quot;'.get_pagenum_link().'&quot; title=&quot;'.$first_page_text.'&quot;&gt;'.$first_page_text.'&lt;/a&gt;';<br /> }<br /> previous_posts_link('&amp;laquo;');<br /> for($i = $start_page; $i &lt;= $end_page; $i++) {<br /> if($i == $paged) {<br /> echo '&lt;span class=&quot;current&quot;&gt;'.$i.'&lt;/span&gt;';<br /> } else {<br /> echo '&lt;a href=&quot;'.get_pagenum_link($i).'&quot;&gt;'.$i.'&lt;/a&gt;';<br /> }<br /> }<br /> next_posts_link('&amp;raquo;');<br /> if ($end_page &lt; $max_page) {<br /> $last_page_text = &quot;Last&quot;;<br /> echo '&lt;a href=&quot;'.get_pagenum_link($max_page).'&quot; title=&quot;'.$last_page_text.'&quot;&gt;'.$last_page_text.'&lt;/a&gt;';<br /> }<br /> echo '&lt;/div&gt;'.$after.&quot;\n&quot;;<br /> }<br /> /* Pagination */<br /> function my_thesis_pagination() {<br /> echo &quot;&lt;div class='prev_next'&gt;&quot;;<br /> page_navi();<br /> echo &quot;&lt;/div&gt;&quot;;<br /> }<br /> remove_action('thesis_hook_after_content','thesis_post_navigation');<br /> add_action('thesis_hook_after_content', 'my_thesis_pagination');</p> <p>/***** end pagenavi http://hutruc.com *****/<br /> [/php]

2.Thêm CSS vào custom.css

Thêm đoạn code sau vào bên dưới file custom.css. Bạn vào TheSIS Options -> Custom File Editor. Chọn file custom.css trong hộp và nhấn Edit selected file. (Nên lưu dự phòng trước khi chỉnh sửa)

[css]<br /> /***** pagenavi http://hutruc.com *****/<br /> .custom .full_width #content_box .page_navi .page {<br /> margin: 2px;<br /> padding: 2px 4px;<br /> }<br /> .page_navi {<br /> text-align:center;<br /> clear:both;<br /> padding-top:10px;<br /> }<br /> .page_navi .current{<br /> padding:2px 5px;<br /> margin:3px;<br /> border:1px solid #ccc;<br /> background:#E0E0E0;<br /> }<br /> .page_navi a{<br /> padding:2px 5px;<br /> margin:3px;<br /> border:1px solid #ccc;<br /> }<br /> /***** end pagenavi http://hutruc.com *****/<br /> [/css]

Hư Trúc cũng mới làm quen với TheSiS thôi nên cách làm này có thể chưa tối ưu. Bạn còn cách nào hay hơn, hãy chia sẻ với mọi người nhé. Chúc bạn thành công.

Đây là phiên bản lưu trữ của bài viết Phân trang trong TheSiS được đăng trên Hư Trúc Blog

Lưu ý: Hư Trúc không trả lời phản hồi của các bạn trên blog này. Bạn vui lòng vào đây để được hổ trợ.


Copyright ©2010 by Hư Trúc Blog | Nghiêm cấm sao chép, phát tán lại dưới mọi hình thức khi chưa được sự đồng ý từ Hư Trúc

Thứ ba, ngày 23 tháng hai năm 2010

SimplePress Thesis theme review

Đây là phiên bản lưu trữ của bài viết SimplePress Thesis theme review được đăng trên Hư Trúc Blog

TheSis là một theme có lẽ không còn xa lạ với các blogger VN. Đây là một theme rất nổi tiếng về SEO, về giao diện thì khá là đơn giản. Bởi vậy, có một blogger nào đó đã vì von nó là một theme "xấu trai nhưng nổi tiếng". Nhận xét này có lẽ đúng nếu như bạn để mặc định giao diện của TheSis, vì hiện nay có rất nhiều bản custom cho nó rất đẹp. Mới đây, HuTek (tác giả của Webzine và WPLine rất đình đám ở VN) đã cho ra mắt phiên bản custom thesis với tên gọi: SimplePress.

HT là một trong những người may mắn được bác HuTek tặng theme này và đang cho chạy thử nghiệm trên HT.com. Đã nhận được từ trước tết nhưng thời gian không nhiều, không bắt tay vào thực hiện được, để mãi đến hôm nay. Dài dòng quá rồi nhỉ, trở lại nội dung chính nào.

Một số tính năng nổi trội của theme này:
  • Bài viết nổi bật với hai kiểu hiển thị:
    • Cu3er 3D Slider: Flash slider đang rất được ưa chuộng hiện nay
    • Javascript Slider: với hiệu ứng trượt độc đáo
  • Hai Css Style: đen và trắng
  • Valid CSS/XHTML
  • Hai kiểu hiện thị cho phần nội dung chính ngoài trang chủ: Teaser và Magazine
  • Hỗ trợ nhiều vị trí quảng cáo với nhiều kích thước theo chuẩn IAB với những hiệu ứng đặc sắc
  • Tự động tạo thumb cho bài viết trên trang chủ
  • Hệ thống tab độc đáo cho phần comment và tag
  • Hệ thống comment mới với cách hiển thị khoa học hơn (tương tự như WPLine)
  • Tương thích tốt với các trình duyệt phổ biến: IE 8+, Firefox 3.5+, Opera 10+, Chrome 4+, Safari 3+
  • Enable gzip một số thành phần giúp cái thiện hơn nữa tốc độ load trang
  • Hướng dẫn đầy đủ chi tiết, hỗ trợ qua mail và forum
  • Và rất nhiều những tùy chỉnh nhỏ mà chỉ khi dùng bạn mới cảm nhận được.

    Hướng dẫn cài đặt | Hướng dẫn sử dụng

    Sau khi chạy thử nghiệm, HT có một số nhận xét sau:
  • Nổi bật với thiết kế đơn giản, gọn nhẹ khá tương đồng với WPLine. Rất phù hợp với các trang tin tức.
  • Phần quản trị dễ hiểu, đơn giản mà đầy đủ. Do gần như tự động hóa hoàn toàn nên bạn không phải tùy chỉnh nhiều mà vẫn được như ý.
  • Tích hợp sẳn Cu3er với chức năng auto resize ảnh rất tuyệt.
  • Tương thích tốt với những bạn đã và đang sử dụng các theme của HuTek (Webzine, WPLine,..) hoặc mới bắt đầu cài blog. Với các bạn sử dụng theme khác (Thesis,...) những ảnh thumb chưa hổ trợ với những bài viết cũ, cần phải edit một tý trong code lấy ảnh (phần custom field của ảnh).
  • Do hạn chế động đến code của theme nên HuTek lợi dụng phần hiển thị ngày tháng comment để đạy hiệu ứng về phần comment và không hiển thị ngày tháng comment.
  • Nhìn chung, với những tính năng nổi trội ở trên, thì một vài lỗi nhỏ trên cũng sẽ không ảnh hưởng đến quyết định tậu em nó về trang hoàng cho blog của bạn nhỉ. Đặt biệt, nếu bạn là người may mắn, bạn sẽ có cơ hội sử dụng miễn phí theme này khi tham gia chương trình may mắn từ HuTek.

    DEMO | DOWNLOAD

    Lần đầu tiên viết review, các bạn góp ý nhé.

    Đây là phiên bản lưu trữ của bài viết SimplePress Thesis theme review được đăng trên Hư Trúc Blog

    Lưu ý: Hư Trúc không trả lời phản hồi của các bạn trên blog này. Bạn vui lòng vào đây để được hổ trợ.


    Copyright ©2010 by Hư Trúc Blog | Nghiêm cấm sao chép, phát tán lại dưới mọi hình thức khi chưa được sự đồng ý từ Hư Trúc