Cách chụp ảnh một trang web, tạo thumbnail từ url website

WordPress có một tính năng miễn phí cho phép bạn chụp ảnh màn hình của bất kỳ trang web nào. Đây là một dịch vụ trên WordPress.com, người dùng có thể sử dụng miễn phí. Dịch vụ này có tên là mShots. Bạn có thể tạo ra ảnh thumbnail của một trang web thông qua url.

mShots WordPress capture website

Để sử dụng công cụ này thì bạn chỉ việc thêm url và width, height cho đường dẫn. Cú pháp sử dụng mShots như sau:

http://s.wordpress.com/mshots/v1/{encoded_url}/?w={width}&h={height}

Áp dụng cụ thể trong trường hợp mình chụp ảnh màn hình của hocwp.net thì đường dẫn như bên dưới:

https://s.wordpress.com/mshots/v1/http%3A%2F%2Fhocwp.net?w=800&h=500

Tích hợp vào dự án PHP thì bạn cần phải tạo ra một hàm, mình ví dụ hàm trong dự án WordPress của mình:

function hocwp_get_image_sizes() {
	global $_wp_additional_image_sizes;

	$sizes = array();

	foreach ( get_intermediate_image_sizes() as $_size ) {
		if ( in_array( $_size, array( 'thumbnail', 'medium', 'medium_large', 'large' ) ) ) {
			$sizes[ $_size ]['width']  = get_option( "{$_size}_size_w" );
			$sizes[ $_size ]['height'] = get_option( "{$_size}_size_h" );
			$sizes[ $_size ]['crop']   = (bool) get_option( "{$_size}_crop" );
		} elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
			$sizes[ $_size ] = array(
				'width'  => $_wp_additional_image_sizes[ $_size ]['width'],
				'height' => $_wp_additional_image_sizes[ $_size ]['height'],
				'crop'   => $_wp_additional_image_sizes[ $_size ]['crop'],
			);
		}
	}

	return $sizes;
}

function hocwp_webshot( $website_url, $size = '' ) {
	if ( ! $website_url || empty ( $website_url ) ) {
		return false;
	}

	$sizes = hocwp_get_image_sizes();

	if ( is_string( $size ) ) {
		if ( ! empty( $size ) && isset( $sizes[ $size ] ) ) {
			$size = $sizes[ $size ];
		}
	}

	if ( ! is_array( $size ) ) {
		if ( is_array( $sizes ) && 0 < count( $sizes ) ) {
			$size = current( $sizes );
		} else {
			$size = array();
		}
	}

	$size = wp_parse_args( $size, array(
		'width'  => 800,
		'height' => 500
	) );

	$url = 'http://s.wordpress.com/mshots/v1/' . urlencode( $website_url );

	$url = add_query_arg( array( 'h' => $size['height'], 'w' => $size['width'] ), $url );

	return $url;
}

Như vậy, giờ bạn chỉ cần gọi hàm hocwp_webshot với tham số đầu vào là url bất kỳ trang web nào, và kích thước là một mảng chứa width, height hoặc image size name trên WordPress. Chúc bạn thành công.

5 bình luận cho “Cách chụp ảnh một trang web, tạo thumbnail từ url website

    1. Cái này là dùng tích hợp vào code ấy bạn, còn chụp hình lưu xuống máy thì chụp bằng phần mềm hoặc trình duyệt thì nhanh hơn.

  1. Anh Cường ơi, Anh cho em hỏi với ạ. Em cài plugin Social Locker của Mythemeshop, của bạn khác share cho em thui nhưng đó là bản cũ, bây giờ em gỡ đi cài bản mới thì bản mới nó giữ nguyên cấu hình của bản cũ.
    Em muốn cài bản mới nhưng mà như kiểu là mới cài lần đầu tiên lên ấy ạ, chưa có cấu hình gì thì không biết có cách nào không ạ.
    Em cảm ơn anh ạ.

    1. Có cực chi đâu bạn, cách này rất hay để làm các trang coupon tự động lấy thumbnail cho store, hoặc áp dụng cho các trang showcase cũng ngon.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *