Home WordpressWordPress cơ bản Nhúng Gists snippet vào blog wordpress hay nhất

Nhúng Gists snippet vào blog wordpress hay nhất

by admincp

Mình bắt đầu viết bài này vì lý do đã từng đăng code snippets trực tiếp vào posts và sử dụng wordpress SyntaxHighlighter Evolved plugin để hiển thị đọc code trên website. Cách này đôi khi làm việc và thỉnh thoảng thì không. Lỗi chậm hiển thị thường xuyên gặp phải.

Sau cùng, tôi bắt đầu sử dụng gists trên Github như xuất bản repositories cho mục đích tạo code snippets và cài đặt plugin để hiển thị code trên website/blog của tôi. Trường hợp apache của bạn đang chạy wordpress bị giới hạn ký tự truyền vào phương thức POST bởi mod_security. Thì đây là cách hữu hiệu nhất.

Nhúng Gists snippet

Bạn không cần cài đặt bất kỳ plugin nào chỉ đơn giản đặt đoạn code sau đây vào functions.php

/**
 * Embed Gists with a URL
 *
 * Usage:
 * Paste a gist link into a blog post or page and it will be embedded eg:
 * https://gist.github.com/2926827
 *
 * If a gist has multiple files you can select one using a url in the following format:
 * https://gist.github.com/2926827?file=embed-gist.php
 *
 * Updated this code on June 14, 2014 to work with new(er) Gist URLs
 */
 
	wp_embed_register_handler( 'gist', '/https?://gist.github.com/([a-z0-9]+)(?file=.*)?/i', 'bhww_embed_handler_gist' );
 
	function bhww_embed_handler_gist( $matches, $attr, $url, $rawattr ) {
 
		$embed = sprintf(
				'<script src="https://gist.github.com/%1$s.js%2$s"></script>',
				esc_attr($matches[1]),
				esc_attr($matches[2])
				);
 
		return apply_filters( 'embed_gist', $embed, $matches, $attr, $url, $rawattr );
		
}

Tất cả bạn cần làm là chèn link Gist vào post/page vậy là snippet đã hiển thị trên website.
Chú ý: để đoạn code hoạt động bạn cần xóa username từ gist URL.
Thông thường khi copy địa chỉ gist sẽ bao gồm cả username, Ví dụ: https://gist.github.com/hoangsoft90/e6a698a4a5e6db48b314
thì đổi thành: https://gist.github.com/e6a698a4a5e6db48b314

Tuy nhiên nếu bạn không muốn mất công đoạn xóa chuỗi username thì đổi dòng sau:

wp_embed_register_handler( 'gist', '/https?://gist.github.com/([a-z0-9]+)(?file=.*)?/i', 'bhww_embed_handler_gist' );

Thay bởi:

wp_embed_register_handler( 'gist', '/https?://gist.github.com/(.+?)/([a-z0-9]+)(?file=.*)?/i', 'bhww_embed_handler_gist' );

Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên TwitterFacebook

Liên hệ

Công ty chuyên Thiết kế website uy tín nhất Miền Bắc: http://vinastar.net

Hotline tư vấn: 0989 48 3456

Nguồn: Sưu tầm trên internet

You may also like

Leave a Comment