WPSEO_Sitemap_Image_Parser::cache_attachments PHP Method

cache_attachments() public method

Cache attached images and thumbnails for a set of posts.
Deprecation: 3.3 Blanket caching no longer makes sense with modern galleries. R.
public cache_attachments ( )
    public function cache_attachments()
    {
        _deprecated_function(__FUNCTION__, '3.3');
    }

Usage Example

 /**
  * Get set of sitemap link data.
  *
  * @param string $type         Sitemap type.
  * @param int    $max_entries  Entries per sitemap.
  * @param int    $current_page Current page of the sitemap.
  *
  * @return array
  */
 public function get_sitemap_links($type, $max_entries, $current_page)
 {
     $links = array();
     $post_type = $type;
     if (!$this->is_valid_post_type($post_type)) {
         return $links;
     }
     $steps = min(100, $max_entries);
     $offset = $current_page > 1 ? ($current_page - 1) * $max_entries : 0;
     $total = $offset + $max_entries;
     $typecount = $this->get_post_type_count($post_type);
     if ($total > $typecount) {
         $total = $typecount;
     }
     if ($current_page === 1) {
         $links = array_merge($links, $this->get_first_links($post_type));
     }
     if ($typecount === 0) {
         return $links;
     }
     $stacked_urls = array();
     while ($total > $offset) {
         $posts = $this->get_posts($post_type, $steps, $offset);
         $offset += $steps;
         if (empty($posts)) {
             continue;
         }
         $post_ids = wp_list_pluck($posts, 'ID');
         $this->image_parser->cache_attachments($post_ids);
         $posts_to_exclude = explode(',', $this->options['excluded-posts']);
         foreach ($posts as $post) {
             if (WPSEO_Meta::get_value('meta-robots-noindex', $post->ID) === '1') {
                 continue;
             }
             if (in_array($post->ID, $posts_to_exclude)) {
                 continue;
             }
             $url = $this->get_url($post);
             if (!isset($url['loc']) || in_array($url['loc'], $stacked_urls)) {
                 continue;
             }
             /**
              * Filter URL entry before it gets added to the sitemap.
              *
              * @param array  $url  Array of URL parts.
              * @param string $type URL type.
              * @param object $user Data object for the URL.
              */
             $url = apply_filters('wpseo_sitemap_entry', $url, 'post', $post);
             if (!empty($url)) {
                 $links[] = $url;
                 $stacked_urls[] = $url['loc'];
             }
         }
         unset($post, $url);
     }
     return $links;
 }