15 Thủ thuật WordPress cực hay và hữu ích

Cộng đồng WordPress đang phát triển nhanh chóng, và chúng ta đang ngày càng phát hiện thêm nhiều thủ thuật wordpress hay mỗi ngày. Trong bài viết này chúng tôi sẽ chia sẻ với bạn một số thủ thuật  wordpress cực hay và cực kỳ hữu ích mà bạn có thể sử dụng để tận dụng sức mạnh của phần mềm viết blog mà tất cả chúng ta đều yêu thích. Chúng tôi sẽ cố gắng giải thích mỗi thủ thuật sẽ hoạt động như thế nào, nếu bạn có thắc mắc thì bạn có thể để đặt câu hỏi trong phần bình luận.

1. Liên kết đến các nguồn bên ngoài từ tiêu đề bài viết của bạn

Thường thì các blogger muốn liên kết đến bên ngoài vì họ thấy nó hữu ích cho độc giả của họ. Vấn đề chính mà họ thường gặp là họ phải viết một bài mới để các độc giả của họ để đi đến một trang web khác. Trong Custom Field Hack này chúng tôi sẽ cho bạn thấy làm thế nào bạn có thể dẫn đến một liên kết bên ngoài từ tiêu đề bài viết của bạn.

Đầu tiên là bạn phải mở file functions.php và cop đoạn code sau đây vào:

function print_post_title() {
global $post;
$thePostID = $post->ID;
$post_id = get_post($thePostID);
$title = $post_id->post_title;
$perm = get_permalink($post_id);
$post_keys = array(); $post_val = array();
$post_keys = get_post_custom_keys($thePostID);

if (!empty($post_keys)) {
foreach ($post_keys as $pkey) {
if ($pkey==’url1′ || $pkey==’title_url’ || $pkey==’url_title’) {
$post_val = get_post_custom_values($pkey);
}
}
if (empty($post_val)) {
$link = $perm;
} else {
$link = $post_val[0];
}
} else {
$link = $perm;
}
echo ‘<h2><a href="’.$link.’" rel="bookmark" title="’.$title.’">’.$title.’</a></h2>’;
}

Tiếp theo bạn cần phải tìm file index.php và tìm đoạn code sau


<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>

và đổi nó thành

<?php print_post_title(); ?>

Sau khi đổi xong thì bạn chỉ cần cập nhật lại 2 files này bằng cách tải chúng lên host (nếu bạn edit dưới local) còn nếu bạn edit trực tiếp rồi thì thôi. Thường thì việc sửa thẳng trên website/server khá là nguy hiểm nên người ta thường cập nhật file dạng text ở máy cá nhân rồi up lên server.

Bây giờ khi bạn đang viết một bài, cuộn xuống Custom Fields. Tìm tên: url1, title_url, hoặc url_title và thêm URL vào các nguồn bên ngoài. Thêm một mô tả ngắn nếu bạn muốn, và nhấn publish.

Đừng lo lắng, chức năng này không lấy đi các liên kết tiêu đề bài viết của bạn, nó chỉ thêm một truy vấn để kiểm tra custom field cho các liên kết bên ngoài. Nếu không bao gồm liên kết ngoài, nó đề cập đến các mã mặc định và liên kết đến các trang bài viết bình thường.

Ngoài ra còn có một plugin có thể làm công việc này, được gọi là Page Links To

2. Thay đổi Gravatar mặc định cho các bình luận

goodbye

Say goodbye to the mystery Man

Một số người dùng cảm thấy avatar mặc định của WordPress khá là khó chịu. Ngoài ra việc để hình ảnh đặc thù trên WordPress của bạn sẽ tạo ấn tượng lớn hơn cho người đọc. Thay đổi ảnh đại mặc định của bạn sẽ giúp bạn quảng bá thương hiệu cho blog của bạn tốt hơn. Với đoạn mã này dưới đây bạn có thể thay đổi gravatar mặc định của bạn.

Trước tiên, bạn cần phải mở functions.php nằm trong thư mục template của bạn. Nếu bạn chưa có tập tin này thì hãy tạo cho mình 1 cái mới và chèn đoạn mã sau:

add_filter( ‘avatar_defaults’, ‘newgravatar’ );

function newgravatar ($avatar_defaults) {
$myavatar = get_bloginfo(‘template_directory’) . ‘/images/gravataricon.gif’;
$avatar_defaults[$myavatar] = "WPBeginner";
return $avatar_defaults;
}

Trong đoạn mã, hình ảnh được chiết xuất từ các thư mục chủ đề và nó được gọi là gravataricon.gif và rõ ràng, bạn sẽ thay đổi nó thành tên hình ảnh của bạn. dieuhau, đó là tên của avatar của cách hiển thị trong khu vực admin panel options của bạn.

gravatarsettings

gravatarsettings

Ở khu vực trên cùng của bảng quản trị của bạn, nhấn Settings > Discussion và thay đổi biểu tượng, và bây giờ bạn có một khu vực bình luận mang tính thương hiệu với logo của bạn.

3. Hiển thị một nút Retweet với thương hiệu của bạn

retweet

Khi sử dụng Twitter bạn sẽ có rất nhiều sự tương tác với người khác, là một blogger bạn nên sử dụng nó như lợi thế của bạn. Để tạo sự dễ dàng hơn cho các độc giả của bạn, hãy đặt một nút retweet nổi bật, vì vậy họ có thể retweet bài viết với một cú nhấp chuột. Không chỉ vậy, bạn nên làm theo cách này để bạn có thể theo dõi các retweets. Đó là nơi mà Tweetmeme widget đi kèm. Thường thì ở nước ngoài người ta sử dụng twitter nhiều nên việc làm cái này rất hiệu quả nhưng mà cho anh em ở Việt Nam thì mình nghĩ là không cần thiết lắm trừ khi bạn nhắm đến chủ yếu là thị trường nước ngoài. Người Việt Nam mình dùng twitter không nhiều và nó cũng không tiện lợi bằng facebook nên là mạng xã hội thì quảng bá qua facebook sẽ tốt hơn nhưng mình vẫn sẽ hướng dẫn cho các bạn muốn làm.

Trong hướng dẫn này, chúng tôi sẽ giúp bạn tạo ra một nút, sẽ liên kết đến các văn bản trong các định dạng sau:

  • RT @yoursitename Title of the Post – Link

Thêm mã sau đây trong tập tin mẫu mà bạn chọn như single.php

Mã nút kêu gọi hành động lớn

<script type="text/javascript">
tweetmeme_source = 'wpbeginner';
</script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"> </script>

Mã nút cỡ vừa

<script type='text/javascript'>
tweetmeme_style = "compact";
tweetmeme_source = 'wpbeginner';
</script>  

Hãy nhớ thay đổi nguồn để tên tài khoản twitter của mình, bằng cách này bạn sẽ không chỉ thúc đẩy tài khoản của bạn có thêm người theo dõi, mà còn quàng bá được bài viết của mình.

4. Hiển thị hình ảnh tiêu đề ngẫu nhiên trên Blog của bạn

randomheaderimages

Hầu hết các thiết kế blog thường nhàm chán nếu họ chỉ có một hình ảnh tĩnh trên tiêu đề của mỗi bài viết. Và đây là lý do tôi muốn hướng dẫn làm ảnh động cho hình ảnh tiêu đềcủa bạn bởi vì nó sẽ thay đổi mỗi khi truy cập. Bạn có thể chọn nhiều hình ảnh hay bạn muốn xoay ngẫu nhiên. Điều này có thể làm cho blog của bạn nhìn năng động hơn.

Trước tiên, bạn cần phải đặt tên cho hình ảnh của bạn ở định dạng này:

  • headerimage_1.gif
  • headerimage_2.gif
  • headerimage_3.gif

Bạn phải tách riêng tên với dấu gạch dưới. Bạn có thể thay đổi tên của headerimage thành bất cứ tên gì bạn muốn.

Sau đó, bạn hãy dán đoạn mã sau vào nơi bạn muốn hiển thị ví dụ như header.php hoặc footer.php.

 

5. Chọn bài viết hiển thị trên RSS

rsstimecontrol

rsstimecontrol

Đôi khi bạn đăng một bài viết và đột nhiên thấy có lỗi. Bạn có thể quay lại bảng quản trị và thay đổi nó nhưng nó đã xuất hiện trong bảng tin. Với thủ thuật dành cho người tự học wordpress này , bạn có thể đặt thời gian chờ cho một bài viết được đăng trước khi nó xuất hiện trên RSS feed.

Mở function.php và nhập mã này vào:


<img src="http://path_to_images/headerimage_<?php echo(rand(1,3)); ?>.gif"
width="image_width" height="image_height" alt="image_alt_text" />

Mã này cho phép bạn trì hoãn 10 phút trên bài viết của bạn được hiển thị trên RSS, bạn có thể thay đổi nó bằng cách thay đổi số 10 bằng bao nhiêu phút như bạn muốn.

6. Hiển thị một sốdanh mục trong Menu

Trong nhiều trường hợp, người sử dụng chỉ muốn hiển thị một số category trong menu chuyển hướng của họ ở đầu trang. Nếu bạn sử dụng mã wp_list_categories mặc định, nó sẽ hiển thị tất cả các category. Đây là lý do tại sao thủ thuật wordpress dưới đây lại trở nên tiện dụng khi bạn muốn tạo một menu điều hướng và chỉ hiển thị một số category.


function publish_later_on_feed($where) {
global $wpdb;

if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate(‘Y-m-d H:i:s’);

// value for wait; + device
$wait = ’10′; // integer

// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = ‘MINUTE’; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

// add SQL-sytax to default $where
$where .= ” AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, ‘$now’) > $wait “;
}
return $where;
}

add_filter(‘posts_where’, ‘publish_later_on_feed’);
 
Lưu ý, bạn cũng có thể thay đổi "include" thành “exclude” và hiển thị tất cả các category ngoại trừ những loại mà bạn không muốn hiển thị. Các con số được hiển thị trong các mã là ID của category. Bạn hãy nhớ rằng bởi vì WordPress hiển thị category ở dạng danh sách, bạn sẽ cần phải chỉnh sửa CSS để làm cho nó làm việc.

7. Tách Trackbacks từ bình luận

ctseparate

ctseparate

Khi bạn viết một bài tuyệt vời trên blog của bạn, nó có thể được liên kết từ khắp nơi trên thế giới blog. Thậm chí bài viết tuyệt vời nhất bắt đầu một cuộc thảo luận tốt trong các bình luận. Nếu bạn không tách trackback từ các bình luận, thì sẽ rất khó khăn cho người dùng của bạn để theo dõi các bình luận và các cuộc thảo luận. Trong thủ thuật wordpress này, chúng tôi sẽ cho bạn thấy làm thế nào bạn có thể tách trackback từ các bình luận.

Trước tiên, bạn cần phải mở comments.php và tìm thấy một vòng lặp như sau:

<ul class="navmenubar" style="float:left; width:730px;">
<?php wp_list_categories('orderby=name&include=7,9,19,16,1,5,17,23'); ?>
</ul> 

Tìm và thay nó bằng đoạn mã sau đây:

<ul class="commentlist">
<?php //Displays comments only
foreach ($comments as $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'comment') { ?>
<li>//Comment code goes here</li>
<?php }
endforeach;
</ul>

<ul>
<?php //Displays trackbacks only
foreach ($comments as $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php }
endforeach;

</ul> 

Về cơ bản danh sách này giúp bạn hiển thị các bình luận trong hai danh sách. Nếu nó là một Trackback hay một nhận xét bình thường, hãy hiển thị nó một cách riêng biệt

8. Làm thế nào để liệt kê bài viết trong tương lai mà bạn đã lên kế hoạch

futureposts

futureposts

Mọi người đều muốn có nhiều người đăng ký theo dõi website của họ. Một cách để có được nhiều người sử dụng yêu thích và quan tâm đến blog của bạn là để cho họ thấy trước những bài viết bạn đã dự kiến đăng lên. Ví dụ bạn viết phần một của một bài hướng dẫn và cho họ thấy được rằng sau đúng 1 tuần sẽ có phần 2 chẳng hạn.

Trước tiên, đặt lịch đăng bài trong tương lai. Bạn không cần phải hoàn thành bài viết đó ngay chỉ cần có cái tiêu đề và đặt 1 tuần sau đăng, miễn là bạn nhớ vào viết nốt là được. Sau đó mở sidebar.php của bạn hoặc bất cứ nơi nào bạn muốn hiển thị danh sách các bài viết trong tương lai, và dán đoạn mã sau:

<?php query_posts('showposts=10&post_status=future'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<span class="datetime"><?php the_time('j. F Y'); ?></span></p>
<?php endwhile;
else: ?><p>No future events scheduled.</p>
<?php endif; ?> 

Đoạn mã trên được sắp xếp theo các thông số post_status mà trong trường hợp này là “tương lai”, nhưng nó có thể được dự thảo, xuất bản. Ngoài ra còn có một tham số trong bài viết này giới hạn số lượng bài viết được hiển thị, showposts = 10. Bạn có thể thay đổi số lượng bài viết trong lịch trình mà bạn muốn đăng.

9. Hiển thị Thumbnail kế bên mỗi bài viết

thumbnailpost

thumbnailpost

Chúng tôi từng nghe nói, một bức ảnh có thể thay ngàn lời nói, và đó thực sự đúng với các blog. Bạn không thể nào mô tả các bài đủ trong một trích đoạn ngắn, nhưng thêm một hình ảnh sẽ mang lại sự sống cho các bài viết và khiến cho người dùng để ý nhiều hơn. Với custom field hack này, chúng tôi sẽ cho bạn thấy làm thế nào bạn có thể làm điều đó.

Trước tiên, bạn cần phải có một hình ảnh mặc định kích thước 210 x 210px như chúng ta đang sử dụng tại dieuhau. Bạn có thể đặt tên cho hình ảnh này là defaultimage.gif hình ảnh mặc định hoặc trong ví dụ này, chúng tôi đang sử dụng dieuhau.gif và chắc chắn rằng bạn tải nó lên Theme directory Folder của bạn.

Sau đó, bạn mở index.php và dán đoạn mã sau đây.

<?php $postimageurl = get_post_meta($post->ID, 'post-img', true);
if ($postimageurl) {
?>
<a href="<?php the_permalink(); ?>" rel="bookmark"><img src="<?php echo $postimageurl; ?>" alt="<?php the_title(); ?>" width="210" height="210" /></a>
<?php } else { ?>
<a href="<?php the_permalink(); ?>" rel="bookmark"><img src="<?php bloginfo('template_url'); ?>/images/wpbeginner.gif" alt="<?php the_title(); ?>" width="210" height="210" /></a>
<?php } ?> 

10. Đặt ngày hết hạn cho bài viết của bạn

Thủ thuật wordpress này trở nên rất hữu ích khi bạn đang chạy một khuyến mại ngắn hạn mà không muốn nó ở lại mãi mãi. Thay vì tự loại bỏ các bài viết, bạn có thể đặt lịch để nó tự dừng hiển thị. Bạn có thể áp dụng cách này với bất cứ bài viết nào trên trang của bạn. Bạn đăng nó trên blog của bạn, nhưng bạn không muốn chương trình này ở lại trên blog của mình sau khi chương trình ấy kết thúc. Vì vậy, bạn có thể loại bỏ nó tự động với mã này.

Tất cả bạn cần làm là thay thế WordPress Loop của bạn với mã này:

<?php
if (have_posts()) :
while (have_posts()) : the_post(); ?>
$expirationtime = get_post_custom_values('expiration');
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}

$secondsbetween = strtotime($expirestring)-time();
if ( $secondsbetween > 0 ) {
// For example…
the_title();
the_excerpt();
}
endwhile;
endif;
?> 

Sau đó, bạn có thể sử dụng các trường tùy chỉnh khi viết một bài để thiết lập ngày hết hạn. Hãy chắc chắn phím “Expiration” và sử dụng các định dạng ngày sau: mm / dd / yyyy 00:00:00

Thủ thuật wordpress này không loại bỏ hoặc huỷ xuất bản bài đã đăng, nó chỉ không cho các bài đấy hiển thị trên feeed nữa.

11. Xóa Batches của Post Revisions

Có rất nhiềutính năng tốt trong WordPress và một trong số đó là tính năng Post Revision (xem lại bài viết). Điều này đã có trong WordPress 2.6, mặc dù đây là một tính năng tốt, nhưng nó có thể gây ra một số vấn đề. Một trong số đó là tăng kích thước của cơ sở dữ liệu của bạn vì nó sẽ phải lưu lịch sử chỉnh sửa. Tùy thuộc vào việc bạn viết một bài trong bao lâu, bạn có thể sửa đổi bài viết hàng chục lần và lúc đó việc lưu trữ toàn bộ lịch sử sửa đổi sẽ trở thành vấn đề. Bây giờ bạn có thể tự xóa chúng, hoặc bạn có thể chạy một truy vấn đơn giản mà chúng tôi sẽ cho bạn thấy trong bài viết này và xóa hết revision.

Điều đầu tiên bạn cần làm là đăng nhập vào phpMyAdmin và chọn cơ sở dữ liệu WordPress của bạn.

Click vào nút SQL và nhập truy vấn sau đây:

DELETE FROM wp_posts WHERE post_type = "revision";

Trong mã này, chúng ta hãy để ý vào bảng wp_posts và loại bỏ tất cả các bài viết mà đã có một post_type revision liên kết với nó. Bây giờ tùy thuộc vào kích thước của cơ sở dữ liệu của bạn, điều này có thể giúp bạn tiết kiệm rất nhiều không gian.

12. Hiển thị RSS Feed bất kì trên Blog của bạn

rsstohtml

rsstohtml

Thường thì các blogger muốn hiển thị RSS Feeds của các trang web khác trên blog của họ. Có lẽ nó là từ một blog của họ rằng là có liên quan. Điều này có tiện dụng bởi vì nó làm cho công việc của bạn dễ dàng hơn nhiều. Có một số scripts và plugin mà sẽ làm điều đó cho bạn, nhưng bạn không cần vì WordPress có tính năng này. Và bạn nên biết rằng, vì bạn nhìn thấy bảng tin trong Admin Panel Dashboard của bạn.

Tất cả những gì bạn phải làm là copy đoạn code này vào trong nơi bạn muốn RSS feed được hiển thị, thường là trong sidebar.php.

<?php include_once(ABSPATH.WPINC.'/rss.php');
wp_rss('http://feeds2.feedburner.com/wpbeginner', 5); ?>

13. Hiển thị nút “Digg This” vào bài viết cụ thể với một cú nhấp chuột

Nút Digg trong bài viết rất hữu ích đặc biệt khi bài viết của bạn được gửi lên digg. Nhưng bạn không nên đặt các nút digg này trong mỗi bài viết, vì không phải bài viết nào cũng gửi lên digg. Ví dụ, nếu bạn gửi một thông báo rằng bạn sẽ thay đổi chủ đề của bạn, thì không cần phải nộp vào digg. Thủ thuật wordpress này giúp bạn có thể sử dụng các lĩnh vực tùy chỉnh để hiển thị nút “Digg này” trong bài viết mà bạn muốn.

Nhập mã này vào single.php

<pre>&lt;?php $cf = get_post_meta($post-&gt;ID, 'digg', true);
if (!emptyempty($cf)) {
echo 'http://digg.com/tools/diggthis.js" type="text/javascript"&gt;'} ?&gt;

Bây giờ khi bạn tạo ra một bài viết sử dụng các lĩnh vực tùy chỉnh “Digg” và thiết lập giá trị bất kỳ và nó sẽ hiển thị các lĩnh vực digg. Và nếu bạn không thêm lĩnh vực tùy chỉnh, nó sẽ không hiển thị. Đơn giản và dễ dàng.

14. Hiển thị bài viết chú ý trong một khu vực nào đó

 

Tính năng này được người sử dụng yêu thích vì vậy nó đã được cài đặt trong WordPress. Bây giờ chúng tôi sẽ cho bạn thấy làm thế nào bạn có thể liệt kê tất cả các bài viết chú ý của bạn như một bài đặc trưng trong trang chủ của bạn hoặc bất kỳ trang nào khác.

<pre><?php
$sticky = get_option('sticky_posts');
rsort( $sticky );
$sticky = array_slice( $sticky, 0, 5);
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );

if (have_posts()) :
while (have_posts()) : the_post();
the_title();
the_excerpt();
endwhile;
endif;

?>

Bạn có thể thay đổi số 5 bằng số lượng bài viết mà bạn muốn hiển thị trong trang của bạn. Bạn cũng có thể hiển thị bài viết đầy đủ bằng cách thay đổi giá trị ‘the_excerpt’ thành ‘the_content’.

15. Hiển thị quảng cáo sau bài viết đầu tiên

Thêm một quảng cáo sau bài đăng có thể giúp bạn kiếm tiền bởi vì các nhà quảng cáo thực sự thích chỗ đó. Nó là một trong những điểm quảng cáo vô cùng tốt. Bạn thậm chí có thể đặt adsense ở đó. Nhưng nếu bạn đặt một mã bình thường, quảng cáo sẽ được hiển thị sau mỗi bài và điều đó sẽ gây phiền nhiễu cho người dùng của bạn. Vì vậy, bạn có thể hiển thị quảng cáo sau khi bài viết đầu tiên.

Thay thế vòng lặp hiện tại của bạn với phiên bản này của vòng lặp trong index.php của bạn

<pre><?php if (have_posts()) : ?>
<?php $count = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count ; ?>
<?php if ($count == 2) : ?>
//Paste your ad code here
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php else : ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?> 

Bây giờ mã này sẽ hiển thị các quảng cáo sau khi đăng bài thứ hai của bạn. Hãy chắc chắn rằng bạn chèn mã quảng cáo của bạn ở đó. Bạn có thể tham khảo thêm bài viết 4 wordpress plugin chế độ bảo trì miễn phí tốt nhất.

Về tác giả

Duy Anh

Chào các bạn,

Mình là coder, đang sống và làm việc ở Mỹ. Mình thích viết lách nên muốn dành khoảng thời gian trống để chia sẻ các thủ thuật giúp các bạn xây dựng được trang web riêng của mình. Bạn nào cần xây dựng blog, web thì cứ ới, rảnh là mình giúp, tất cả FREE nhé!

Ý kiến cá nhân của bạn

bộ công cụ Wordpress hữu ích dành cho mọi website

Bộ công cụ hữu ích dành cho mọi website Wordpress

Bao gồm theme & plugin tốt nhất và được sử dụng nhiều nhất!

Xin vui lòng kiểm tra email để xác thực tài khoản!