Tạo shortcode ẩn link download trong WordPress

shortcodeChắc hẵn các bạn đã từng nghe nói đến shortcode, đây là một chức năng rất hay mà WordPress đã đưa vào kể từ phiên bản 2.5. Cái tên shortcode đã nói lên được chức năng của nó. Shortcode là một đoạn code ngắn dùng để thay thế cho một đoạn code dài mà bạn phải lập đi lập lại nhiều lần.
Ơ bài viết này mình sẽ tạo một shortcode nhỏ để chèn nút download vào bài viết. Shortcode này có thể cần thiết cho các bạn làm trang chia sẻ tài liệu, phần mềm…và muốn sử dụng các dịch vụ kiếm tiền như adf.ly…Hoặc bạn muốn ẩn link download các tài liệu hay dành cho các thành viên đã đăng ký.

Tạo shortcode download

Trường hợp bạn muốn hiển thị nút download giống nhau cho tất cả các link, chẳng hạn như sử dụng một hình ảnh làm nút botton download chẳng hạn. Bạn sẽ sử dụng đoạn code sau chèn vào file functions.php:

function rayno_dl( $atts, $content = null ) {
   return '<div class="dl"><a href="http://adf.ly/147412/' . $content . '" target="_blank"  rel="nofollow"><p></p></a></div>';
}
add_shortcode( 'dl', 'rayno_dl' );

Tiếp theo là thêm một lớp css và file style.css:

.dl p{
	background: url(images/download.png) no-repeat;
	width: 250px;
	height: 69px;
}

Hình ảnh sử dụng là nút download có tên là download.png và đặt vào folder images của theme bạn sử dụng.

Bây giờ khi muốn chèn link download vào bài viết, bạn chỉ cần sử dụng shortcode:

[dl]link download[/dl]

Trường hợp bạn muốn tùy chỉnh text link khác nhau cho mỗi link, bạn có thể sử dụng code sau:

function rayno_dl( $atts, $content = null) {
	extract(shortcode_atts(array( 'link' => ''), $atts));
   return '<div class="dl"><a href="http://adf.ly/147412/' . $link . '" target="_blank"  rel="nofollow"><p>' . $content . '</p></a></div>';
}
add_shortcode( 'dl', 'rayno_dl' );

Bầy giờ shotcode bạn sử dụng sẽ là :

[dl link="link download"]text link[/dl]

Ẩn link download cho thành viên

Như đã nói bên trên, bạn có thể ẩn đi link download các tài liệu hoặc phần mềm hay dành riêng cho thành viên đăng ký blog. Bạn có thể sử dụng code sau:

function rayno_dl( $atts, $content = null) {
	extract(shortcode_atts(array( 'link' => ''), $atts));
	if(is_user_logged_in()) {
   return '<div class="dl"><a href="http://adf.ly/147412/' . $link . '" target="_blank"  rel="nofollow"><p>' . $content . '</p></a></div>';
   }
   else {
   	return '<p>Bạn cần <a href="/wp-login.php">Đăng nhập</a> hoặc <a href="/wp-login.php?action=register">Đăng ký thành viên</a> để xem được link này</p>';
   }
}
add_shortcode( 'dl', 'rayno_dl' );

Thủ thuật này rất cần thiết đối với các trang web cần nhiều thành viên. Ở bài viết sau mình sẽ hướng dẫn cách thêm button shortcode vào editor WordPress. Chúc các bạn thành công!

Tạo shortcode ẩn link download trong WordPress
3.33 (66.67%) 3 votes

Tìm trên Google
  • nút dowload cho wordpress

Chú ý - WordPress Hosting 1$/tháng - miễn phí tên miền

Bạn có biết GoDaddy đang có khuyến mãi WordPress hosting chỉ còn 1$/tháng kèm theo một tên miền .COM .NET .ORG miễn phí. Hãy đăng ký ngay để tiết kiệm chi phí nhất nhé.
Xem ngay

ĐĂNG KÝ NHẬN TIN QUA EMAIL

Nếu thấy bài viết trên blog có ích cho bạn, hãy đăng ký nhận tin qua email để cập nhật bài viết mới nhanh nhất và thỉnh thoảng nhận quà bất ngờ!

Comments

  1. bài viết rất hay cảm ơn bạn

  2. iTunesVn says:

    Có cách nào ẩn link download và member phải trả point để hiện link đó không bạn.

  3. cảm ơn vì những chia sẻ rất huu ích của bạn. mình đang cần tìm cái này mãi mới thấy

  4. http://congtyinbaobi.info công ty in bao bì giá rẻ

  5. Mình muốn hỏi về tính năng ẩn liên kết. Ở trên là đoạn Code ẩn liên kết với thành viên và yêu cầu đăng nhập, giờ mình muốn tạo ra 1 thông báo như vậy che đi liên kết nhưng không phải là đăng nhập hay đăng ký thành viên mà dẫn tới 1 liên kết bất kỳ thì phải làm thế nào vậy.

  6. Shortcode này link down load cố định à ad, ko tùy biến mỗi bài 1 link khác nhau thì làm thế nào ạ, cả ẩn link down dành cho khách nữa?

Gửi bình luận

Lưu ý: Không sử dụng keyword để thay cho tên của bạn, hãy sử dụng tên thật. Cảm ơn bạn đã tham gia bình luận trên blog!