WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

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

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

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

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

0
Гость 8 месяцев назад
  • 1
    Kama4477

    Добавляешь в 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 Можно изменить код под него...

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