Intereting Posts
Получить категорию из идентификатора продукта? Отображение изображения в мета-коробке Странная проблема с полем ввода HIdden и WPAlchemy Сортировка сообщений по мета-значению с помощью метода get Общая функциональность плагинов и тем Как реорганизовать элементы, возвращенные wp_list_comments ()? WordPress добавляет вторую обратную косую черту, когда я использую addlashes Запрос get_posts по глубине уровня Скрыть комментарии, ожидающие модерации от пользователя, который отправил комментарии Как создать выделенную папку для определенной роли через регистрацию Отправить еженедельную электронную почту, если пользователи не заполнили свои профили Отдельный jQuery для индивидуальных комментариев? PHP-класс для добавления страниц и полей в панель администратора Как настроить раскладку сетки в реактивном плагине WordPress Как вывести фид WordPress на сайте, отличном от WordPress?

Добавление (изображение) кэширования в мой виджет Tumblr

Я взломал простой плагин, чтобы показать последнее изображение из блога Tumblr.

Чтобы не нарушать API Tumblr (v1), я хочу кэшировать это изображение в WordPress …

Я думаю, что, возможно, я смогу сделать это, используя API Transients, но понятия не имею, с чего начать с этого … или есть простой способ сделать это с прямым PHP?

Благодаря 🙂

<?php /* Plugin Name: Topshop Tumblr Widget Plugin URI: Description: Displays images from the Topshop Tumblr using their v1 API Author: James Greig Version: 0.1 Author URI: http://greig.cc */ /* Based on the Tumblr plugin by VJCatkick - http://www.vjcatkick.com/ Data source: http://topshop.tumblr.com/api/read?start=0&num=1&type=photo */ function widget_topshop_tumblr() { if ( !function_exists('register_sidebar_widget') ) return; function widget_topshop_tumblr_photos( $args ) { extract($args); $options = get_option('widget_topshop_tumblr_photos'); $tuid = $options['tumblr_recents_src_uid']; $output = '<div id="tumblr_recent_photos">'; $output .= '<a href="http://topshop.tumblr.com/" class="logo-tumblr"></a>'; // $output .= '<a href="#" class="arrow-left"></a>'; // $output .= '<a href="#" class="arrow-right"></a>'; if ( function_exists('simplexml_load_file') ) { $tumblr_userid = $tuid; $tumblr_num = '1'; $img_style = $tumblr_recents_img_style; $tumblr_size = '250'; $pagecounter = 0; $_tumblrurl = 'http://' . $tumblr_userid . '.tumblr.com/api/read?start=' . $pagecounter . '&num=' . $tumblr_num . '&type=photo'; $_tumblrurl = urlencode( $_tumblrurl ); $_tumblr_xml = @simplexml_load_file( $_tumblrurl ); if( $_tumblr_xml && $_tumblr_xml->posts[0] ) { // 0.1.2 if( $tumblr_recents_additional_html ) { $output .= str_replace( "\\","", $tumblr_recents_additional_html ); } foreach( $_tumblr_xml->posts[0]->post as $p ) { $photourl = $p->{"photo-url"}[3]; $linkurl = $p[url]; $output .= "<div class='image-tumblr'>"; // $output .= '<a href="' . $linkurl . '" target="_blank" >'; $output .= '<a href="http://topshop.tumblr.com/" target="_blank" >'; $output .= '<img src="' . $photourl . '" border="0" alt="' . $linkurl . '" />'; $output .= '</a>'; $output .= '</div>'; } } } else { $output .= 'Requires PHP 5.1'; } $output .= '</div>'; // These lines generate the output echo $before_widget . $before_title . $title . $after_title; echo $output; echo $after_widget; } function widget_topshop_tumblr_photos_control() { $options = $newoptions = get_option('widget_topshop_tumblr_photos'); if ( $_POST["tumblr_recents_src_submit"] ) { $newoptions['tumblr_recents_src_uid'] = strip_tags(stripslashes($_POST["tumblr_recents_src_uid"])); } /* if */ if ( $options != $newoptions ) { $options = $newoptions; update_option('widget_topshop_tumblr_photos', $options); } /* if */ // those are default value if ( !$options['tumblr_recents_src_uid'] ) $options['tumblr_recents_src_uid'] = 'topshop'; $tuid = htmlspecialchars($options['tumblr_recents_src_uid'], ENT_QUOTES); ?> <?php _e('Tumblr ID:'); ?> <input style="width: 100px;" id="tumblr_recents_src_uid" name="tumblr_recents_src_uid" type="text" value="<?php echo $tuid; ?>" />.tumblr.com<br /> <input type="hidden" id="tumblr_recents_src_submit" name="tumblr_recents_src_submit" value="1" /> <?php } /* widget_topshop_tumblr_photos_control() */ register_sidebar_widget('Topshop Tumblr Widget', 'widget_topshop_tumblr_photos'); register_widget_control('Topshop Tumblr Widget', 'widget_topshop_tumblr_photos_control' ); } /* widget_topshop_tumblr() */ add_action('plugins_loaded', 'widget_topshop_tumblr'); ?>