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