php Shortcode显示WordPress站点上远程站点的快照。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Shortcode显示WordPress站点上远程站点的快照。相关的知识,希望对你有一定的参考价值。

<?php

/**
 * This shortcode will allow you to create a snapshot of a remote website and post it
 * on your WordPress site.
 *
 * [snapshot url="http://www.wordpress.org" alt="WordPress.org" width="400" height="300"]
 */
add_shortcode( 'snapshot', function ( $atts ) {
	$atts = shortcode_atts( array(
		'alt'    => '',
		'url'    => 'http://www.wordpress.org',
		'width'  => '400',
		'height' => '300'
	), $atts );
	$params = array(
		'w' => $atts['width'],
		'h' => $atts['height'],
	);
	$url = urlencode( $atts['url'] );
	$src = 'http://s.wordpress.com/mshots/v1/' . $url . '?' . http_build_query( $params, null, '&' );

	$cache_key = 'snapshot_' . md5( $src );
	$data_uri = get_transient( $cache_key );
	if ( ! $data_uri ) {
		$response = wp_remote_get( $src );
		if ( 200 === wp_remote_retrieve_response_code( $response ) ) {
			$image_data = wp_remote_retrieve_body( $response );
			if ( $image_data && is_string( $image_data ) ) {
				$src = $data_uri = 'data:image/jpeg;base64,' . base64_encode( $image_data );
				set_transient( $cache_key, $data_uri, DAY_IN_SECONDS );
			}
		}
	}

	return '<img src="' . esc_attr( $src ) . '" alt="' . esc_attr( $atts['alt'] ) . '"/>';
} );

以上是关于php Shortcode显示WordPress站点上远程站点的快照。的主要内容,如果未能解决你的问题,请参考以下文章

php 在the_content()之前或之后添加HTML或Shortcode - WordPress mu-plugin

在WordPress中使用add_shortcode()在主页中创建内容部分

WordPress快捷码:仅向注册用户显示内容

WordPress Shortcode(简码)介绍及使用详解

php SHORTCODE:将TYPES地址字段显示为2行

text WordPress Shortcode - Spacer