Category Archives: Woocommerce

Hướng dẫn vô hiệu hóa Embed Script trong WordPress (wp-embed.min.js)

Hướng dẫn vô hiệu hóa Embed Script (wp-embed.min.js) trong WordPress

Kể từ phiên bản WordPress 4.4, các lập trình viên của Automattic đã tích hợp thêm 1 file JavaScript mang tên Embed (wp-embed.min.js), cho phép bạn nhúng bất kỳ một bài viết nào (được viết trên nền tảng WordPress) vào trong bài viết của bạn. Điều này đồng nghĩa với việc blog/ website của bạn đã trở thành một oEmbed, tương tự như Facebook, Twitter, Google+… Chỉ cần paste link vào trình soạn thảo (Visual) là bạn sẽ nhận được kết quả trông giống như hình bên dưới.

ảnh

Tính năng Embed giúp trải nghiệm với WordPress trở nên thú vị hơn. Tuy nhiên, điều khó chịu là nó được bật mặc định, do đó, kể cả khi bạn không dùng đến thì Embed Script vẫn được load, khiến cho page-size phình to ra… một chút. Script này được load ở footer và các bạn có thể nhìn thấy khi view source của website:

ảnh

Ngoài ra, nó còn chèn thêm 2 dòng code vào phần header trong HTML của bài viết/ trang nữa:

ảnh

Khi nào bạn nên vô hiệu hóa Embed Script?

Trong những trường hợp sau đây, bạn nên vô hiệu hóa Embed Script (wp-embed.min.js) để giải phóng page-size và giảm số lượng truy vấn HTTP:

  • Bạn không có nhu cầu nhúng (embed) bất cứ bài viết hay trang nào từ blog/ website khác vào blog/ website của bạn.
  • Bạn không muốn cho phép nhúng (embed) bất cứ bài viết hay trang nào trên blog/ website của bạn vào các blog/ website khác.

Làm thế nào để vô hiệu hóa Embed Script?

Rất đơn giản, các bạn chỉ cần thêm đoạn code sau đây vào cuối file functions.php của theme hoặc child theme đang sử dụng và lưu lại là xong:

//* Remove WP Embed Script
function stop_loading_wp_embed() {
if (!is_admin()) {
wp_deregister_script(‘wp-embed’);
}
}
add_action(‘init’, ‘stop_loading_wp_embed’);

Thêm tiếp đoạn code này vào bên dưới để loại bỏ hoàn toàn tính năng Embed nếu bạn muốn:

// Remove the REST API endpoint.
remove_action( ‘rest_api_init’, ‘wp_oembed_register_route’ );

// Turn off oEmbed auto discovery.
add_filter( ’embed_oembed_discover’, ‘__return_false’ );

// Don’t filter oEmbed results.
remove_filter( ‘oembed_dataparse’, ‘wp_filter_oembed_result’, 10 );

// Remove oEmbed discovery links.
remove_action( ‘wp_head’, ‘wp_oembed_add_discovery_links’ );

// Remove oEmbed-specific JavaScript from the front-end and back-end.
remove_action( ‘wp_head’, ‘wp_oembed_add_host_js’ );

Tuy nhiên, trong nhiều trường hợp, code thứ 2 có thể gây lỗi chức năng và giao diện. Do đó, chúng tôi không khuyên dùng. Nếu bạn thêm code thứ 2 vào mà gặp lỗi giao diện thì chỉ cần xóa đi là được. Một số plugin như WP Rocket cũng đã được tích hợp sẵn tính năng giúp loại bỏ Embed Script một cách nhanh chóng (nằm trong tab Media của phần thiết lập plugin).

Cuối cùng, view source blog/ website và xem kết quả. Chúc các bạn thành công!

Source: https://wpcanban.com/wordpress/thu-thuat-wordpress/vo-hieu-hoa-embed-script-trong-wordpress.html