WordPress как на ладони

Код для снятрия скриншота сайта по URL на PHP

Подскажите готовый код для получения скриншота сайта по URL.

Точнее мне нужне код, из которого я бы мог сделать шорткод [screenshot] по примерам из add_shortcode().

Прошу готовый код, потому что предполагаю он у вас где-то должен быть, задача-то достаточно популярная, наверняка сталкивались...

0
Гость
7.3 года назад
  • 1
    Kama9616

    Добавляешь в functions.php темы такой код шорткода:

    function get_screenshot( $atts, $content = null ){
    	$attr = (object) shortcode_atts(array(
    		'api' => 'http://s.wordpress.com/mshots/v1/',
    		'url' => 'wordpress.com',
    		'alt' => '',
    		'w'   => '400', // width
    		'h'   => 0, // height
    	), $atts);
    
    	$src = $attr->api . urlencode($attr->url) . '?w='. $attr->w .'&h='. $attr->h;
    
    	return '<img src="'. $src .'" alt="'. $alt .'" width="'. $attr->w .'" height="'. $attr->h .'" />';
    }
    
    // создаем шорткод
    add_shortcode('screenshot', 'get_screenshot');

    Готово!

    Теперь в тексте записи можно использовать шорткод так:

    [screenshot url="http://wordpress.org"]
    
    или 
    
    [screenshot url="wordpress.org" w="500"]
    
    или 
    
    [screenshot url="wordpress.org" w="500" h="400"]
    
    или 
    
    [screenshot url="wordpress.org" w="500" h="400" alt="Сайт WordPress"]
    

    Или можно вызвать в PHP коде так:

    echo do_shortcode('[screenshot url="wordpress.org" w="500" h="400"]');

    П.С. для создания скриншотов сайтов есть еще одни сервис. По-моему он более функционален и стабилен - http://s-shot.ru Можно изменить код под него...

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация