Bài viết shortcode wordpress

Shortcode là một đoạn mã rút ngắn, thực hiện các nhiệm vụ đã được thiết lập sẵn. Đây là một tính năng vô cùng hữu hiệu mà các bạn lập trình viên cần biết. Hãy cùng với từ khóa học WordPress shortcode là gì?

lục mục

Shortcode nghĩa là gì?

Bài viết shortcode wordpress

Shortcode dịch ra tiếng Việt nghĩa là Mã rút ngắn hoặc có thể hiểu là đoạn mã rút ngắn. Đoạn mã rút ngắn này sẽ thực hiện các nhiệm vụ mà bạn đã thiết lập sẵn trong lúc tạo mã ngắn. Hiện tại, shortcode đang được sử dụng khá nhiều. Bạn có thể vào thư viện plugin của WordPress sau đó, tìm kiếm plugin với từ khóa shortcode là sẽ có rất nhiều plugin hỗ trợ cho bạn, hãy cùng chúng tôi tìm hiểu cách tạo shortcode nhé.

Hướng dẫn tạo Shortcode

Bài viết shortcode wordpress

Sau khi đã biết shortcode là gì? . Toàn bộ đoạn mã trong bài viết này, các bạn sẽ viết vào file functions. php của theme nhé

To make a shortcode bao gồm 2 bước chính như sau

  • Thiết lập chức năng thực thi code trong shortcode
  • Create shortcode name based on function đã tạo cho nó

Để bạn có thể dễ dàng cấu hình, mình sẽ đưa ra một mẫu tạo mã ngắn như thế này

//Khởi tạo function cho shortcode
function create_shortcode() {
  echo "Hello World!";
}
//Tạo shortcode có tên là [test_shortcode] và sẽ thực thi code từ function create_shortcode
add_shortcode( ‘test_shortcode’, ‘create_shortcode’ );

Các phần quan trọng của mình đã comment vào code rồi. Có nghĩa là nếu bạn viết [test_shortcode] vào nội dung của bài viết thì nó sẽ hiển thị cụm từ Hello World. thay vì shortcode mà bạn vừa mới viết. Nhưng chữ Hello World. sẽ luôn ở đầu bài viết bởi vì chúng ta sử dụng lệnh echo. Nếu bạn muốn nó hiển thị ngay vị trí đặt mã ngắn, bạn nên sử dụng return thay cho echo. Bạn có thể thay thế tiếng vang “Xin chào thế giới. ” thành return “Xin chào thế giới. ”, sau này, khi viết shortcode, bạn cũng nên tránh sử dụng echo

Để hiểu thêm shortcode là gì?

function create_shortcode_randompost() {
 $random_query = new WP_Query(array(
  'posts_per_page' => 10,
  'orderby' => 'rand'
 ));
 ob_start();
 if ( $random_query->have_posts() ) :
  "<ol>";
    while ( $random_query->have_posts() ) :
    $random_query->the_post();?>
     <li><a href="<?php the_permalink(); ?>"><h5><?php the_title(); ?></h5></a></li>
    <?php endwhile;
  "</ol>";
 endif;
 $list_post = ob_get_contents(); //Lấy toàn bộ nội dung phía trên bỏ vào biến $list_post để return
 ob_end_clean();
 return $list_post;
}
add_shortcode('random_post', 'create_shortcode_randompost');

Từ đoạn 6 đến đoạn 16 mình viết vòng lặp trong hàm ob_start() và ob_end_clean(). Mục đích là mình sẽ quấn phần đó lại để mình sử dụng hàm ob_get_contents() vào biến $list_post, sau đó là return biến này ra mà thôi. Bây giờ, bạn viết shortcode [random_post] vào vị trí cần hiển thị danh sách bài ngẫu nhiên trong bài nữa là xong

Hướng dẫn tạo Shortcode sử dụng tham số

Ở phần trên, chúng ta chỉ tìm hiểu shortcode là gì? . Nếu bạn muốn người dùng có thể tự động chỉnh sửa lại những gì đã hiển thị thì chúng ta phải sử dụng đến các tham số

Ví dụ, ở đoạn mã ngắn ở phần trên chúng ta đã cho hiển thị 10 bài viết ngẫu nhiên. Nhưng nếu sử dụng tham số, chúng ta có thể cho phép người dùng sửa lại tham số ở phần số lượng bài viết được hiển thị ra và có thể thay đổi thứ tự sắp xếp nếu muốn

Để tạo đoạn shortcode có chứa tham số, chúng ta tạo lại shortcode như sau

function create_shortcode_thamso($args, $content) {
    return "Đây là số ". $args[‘thamso1’];
}
add_shortcode( ‘shortcode_thamso’, ‘create_shortcode_thamso’ );

Ở phần tạo hàm, chúng ta có 2 tham số là $args và $content. Biến $args có nghĩa là tham số trong shortcode và $content có nghĩa là đoạn nội dung được bọc trong mã. Ví dụ

[shortcode_thamso thamso1="100]Đây là biến $content[/shortcode]

Chúng ta có thamso1 là tham số và 100 có nghĩa là giá trị của tham số mà người dùng có thể đặt bất kỳ. $content là phần nội dung được bọc bên trong shortcode, nhưng tại đoạn trên mình không sử dụng biến $content để vào nên nếu bạn có viết như vậy thì phần $content cũng chưa hiển thị được.

Bây giờ bạn viết mã ngắn trên bài viết, nó sẽ hiển thị là “Đây là số 100“. Đó cũng chính là mã ngắn có chứa tham số

Tương tự, mình có một ví dụ làm shortcode tính tổng như sau

function create_shortcode_tinhtong($args, $content) {
    $tong = $args[‘term1’] + $args[‘term2’];
    return "Tổng là ".$tong;
}  
add_shortcode( ‘tinhtong’, ‘create_shortcode_tinhtong’ );

Khi viết shortcode, ta sẽ viết như sau

[tinhtong term1="50" term2="30"]

Kết quả sẽ trả lại là “Tổng cộng là 80“

And add an example used variable $content

function create_shortcode_content($args, $content) {
    return strtoupper($content); //In hoa toàn bộ content trong shortcode
}
add_shortcode(‘shortcode_content’, ‘create_shortcode_content’);

Bây giờ bạn hãy thử viết trong bài viết shortcode này

[shortcode_content]Viết cái gì đó vào đây[/shortcode_content]

Có phải nó đã ở dạng toàn bộ chữ trong phần nội dung của shortcode không?

Tóm tắt

  • $args sẽ có cấu trúc tham số dạng $args[‘thamso’], và chữ thamso là tham số trong shortcode mà bạn phải viết giống như vậy
  • $content is variable in full content set between thẻ mở mã ngắn và thẻ đóng mã ngắn

Hướng dẫn viết Shortcode vào file PHP

Nếu bạn biết shortcode là gì? . Do vậy, nếu bạn muốn chèn mã ngắn vào tệp PHP thì bạn phải sử dụng hàm do_shortcode() để nó thực thi. Ví dụ

Hướng dẫn viết Shortcode vào Widget Text

Widget Text mặc định sẽ không cho bạn chèn mã ngắn, nếu muốn nó thực thi thì bạn chỉ cần lọc lại là xong. Bạn hãy chèn đoạn sau vào hàm tệp. php

________số 8

Như vậy là chúng ta đã cùng nhau tìm hiểu shortcode là gì? . Hãy để lại bình luận của các bạn đã chọn từ khóa học WordPress nếu có điều gì thắc mắc nhé.