Một số hàm thao tác với shortcode trong wordpress

Một số hàm thao tác với shortcode trong wordpress

Bài viết thực hiện dựa trên tài liệu Wordpress ở phiên bản 3.5.1. Shortcode được giới thiệu từ Một số hàm thao tác với shortcode trong wordpressphiên bản 2.5, nó sẽ thực hiện một số chức năng nào đó bằng việc tạo một đoạn mã theo cú pháp trong nội dung bài viết. Ví dụ bạn có thể thấy một số plugin sử dụng như nextGent gallery tạo ra một số shortcode là [ nggallery id=X ],  [ slideshow id=X w=X h=X ]... hay ở phiên bản 3.5.1 Wordpress đã tạo sẵn shortcode [gallery].

Một số hàm thao tác với shortcode:

  • add_shortcode
  • shortcode_atts
  • do_shortcode
  • shortcode_parse_atts
  • remove_shortcode
  • strip_shortcodes

add_shortcode($tag, $func)

Hàm sẽ thêm shortcode để thực hiện một chức năng nào đó, $tag là đoạn shortcode sẽ được đặt trong nội dung bài viết, $func là chức năng sẽ thực hiện khi đoạn sortcode được tìm thấy.

// Ví dụ nếu bạn có một đoạn shortcode: [footag foo="bar"]
function footag_func( $atts ) {
  return "foo = {$atts[foo]}";
}
add_shortcode('footag', 'footag_func');
//Ví dụ nếu đoạn shortcode được sử dụng như dạng thẻ đóng: [baztag]content[/baztag]
function baztag_func( $atts, $content="" ) {
  return "content = $content";
}
add_shortcode( 'baztag', 'baztag_func' );
//Nếu chức năng được viết trong một lớp
class MyPlugin {
  function baztag_func() {
    return "content = $content";
  }
}
add_shortcode( 'baztag', array( 'MyPlugin', 'baztag_func' ) );

shortcode_atts($pairs, $atts)

Hàm kết hợp giữa những thuộc tính của shortcode và những thuộc tính mặc định khi cần. Ví dụ nếu bạn có shortcode: [bartag foo="koala" bar="bears"]

function bartag_func($atts) {
extract(shortcode_atts(array(
  'foo' => 'no foo',
  'bar' => 'default bar'
), $atts));
return 'bartag: ' . $foo . ' ' . $bar;
}
add_shortcode('bartag', 'bartag_func');

do_shortcode($content)

Hàm sẽ chạy shortcode nếu bạn không muốn lấy trực tiếp từ nội dung bài viết. Ví dụ:

echo do_shortcode('[gallery]');
// sử dụng shortcodes trong widget text
add_filter('widget_text', 'do_shortcode');

shortcode_parse_atts($text)

Với đối số là một chuỗi shortcode hàm sẽ trả về một mảng thuộc tính và giá trị của shortcode. Mục đích chính của hàm dùng để kiểm tra thuộc tính và giá trị của shortcode.

remove_shortcode($tag)

gỡ shortcode bạn đã khai báo bởi hàm add_shortcode()

strip_shortcodes($content)

xóa shortcode khi trả về nội dung bài viết. Ví ụ nếu ở trang trủ bạn không muốn thực hiện shortcode trong nội dung bài viết:

function remove_shortcode_from_index($content) {
  if ( is_home() ) {
    $content = strip_shortcodes( $content );
  }
  return $content;
}
add_filter('the_content', 'remove_shortcode_from_index');

20 mẫu shortcode tiện dụng để bạn tham khảo

Tham khảo: codex.wordpress.org

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Tìm kiếm bất động sản

 

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Giới thiệu 7 khái niệm quan trọng về Web Service

Giới thiệu 7 khái niệm quan trọng về Web Service

Theo định nghĩa của W3C (World Wide Web Consortium), Web service là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua mạng Internet

Google bán Motorola Home cho Arris với giá 2,35 tỉ USD

Google bán Motorola Home cho Arris với giá 2,35 tỉ USD

Sau khi có một số hành động cho hoạt động tái cơ cấu Motorola Mobility, Google tiếp tục bán Motorola Home, một chi nhánh của Motorola Mobility, cho Arris với giá 2,35 tỉ USD.

Tính năng Exposed filters ra Block trong Views 3

Tính năng Exposed filters ra Block trong Views 3

Here is a quick how-to on how to have your exposed View 3 filters as a block in Drupal 7.

Công ty diệt chuột T&C

 

Diet con trung