%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/shaban/laviva/wp-content/plugins/slider-wd/framework/
Upload File :
Create Path :
Current File : /var/www/html/shaban/laviva/wp-content/plugins/slider-wd/framework/WDW_S_Sitemap.php

<?php


final class WDW_S_Sitemap {
  /**
   * The single instance of the class.
   */
  protected static $_instance = null;

  private $images;

  /**
   * Main WDW_S_Sitemap Instance.
   *
   * Ensures only one instance is loaded or can be loaded.
   *
   * @static
   * @return WDW_S_Sitemap - Main instance.
   */
  public static function instance() {
    if ( is_null( self::$_instance ) ) {
      self::$_instance = new self();
    }
    return self::$_instance;
  }

  public function add_wpseo_xml_sitemap_images( $images, $post_id ) {
    $this->images = $images;

    $post = get_post($post_id);

    remove_all_shortcodes();
    if ( defined('ELEMENTOR_VERSION') ) {
      \Elementor\Plugin::instance()->frontend->get_builder_content($post->ID);
    }
    add_shortcode('wds', array($this, 'shortcode'));
    do_shortcode($post->post_content);

    return $this->images;
  }

  public function shortcode( $params = array() ) {
    if ( is_array( $params ) ) {
      $id = shortcode_atts(array('id' => WDW_S_Library::get('slider_id', 0)), $params);
      $id = $id['id'];
    }
    else {
      $id = $params;
    }
    if ( 0 < $id ) {
      $images = $this->get_shortcode_images( $id );
      foreach ( $images as $image ) {
        // Include in sitemap self hosted images only.
        if ( strpos($image, site_url()) !== FALSE ) {
          $this->images[] = array(
            'src' => $image,
            'title' => '',
            'alt' => ''
          );
        }
      }
    }
  }

  private function get_shortcode_images( $id ) {
    $images = array();
    // Get slider.
    $slider = WDW_S_Library::get_slider_by_id( $id );
    if ( !empty($slider) ) {
      // Get slider slides.
      $slides = WDW_S_Library::get_slides_by_slider_id( $id, 'asc' );
      if ( !empty($slides) ) {
        foreach ( $slides as $slide ) {
          $slide_ids[] = $slide->id;
          if ( 'image' == $slide->type ) {
            $images[] = $slide->image_url;
          }
        }
        // Get slider slides layers.
        $layers_rows = WDW_S_Library::get_layers_by_slider_id_slide_ids( $id, $slide_ids );
        foreach ( $layers_rows as $slide_layers ) {
          foreach ( $slide_layers as $layer ) {
            if ('image' == $layer->type) {
              $images[] = $layer->image_url;
            }
          }
        }
      }
    }
    return $images;
  }
}

Zerion Mini Shell 1.0