Home Forums WoodMart support forum Instagram footer

Instagram footer

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #38160

    cri.galia
    Participant

    Hello, I have a problem with Instagram footer.
    In account Instagram there are six photo but in the footer there is only one photo.
    I insert in function.php child theme the script for Instagram and I clear the browser cache but not working.
    I attach the files.
    Can you help me?
    Thanks

    /*Instagram*/
    function woodmart_scrape_instagram($username, $slice = 9) {
    $username = strtolower( $username );
    $by_hashtag = ( substr( $username, 0, 1) == ‘#’ );

    if ( false === ( $instagram = get_transient( ‘instagram-media-new-‘.sanitize_title_with_dashes( $username ) ) ) ) {

    $request_param = ( $by_hashtag ) ? ‘explore/tags/’ . substr( $username, 1) : trim( $username );
    $remote = wp_remote_get( ‘https://instagram.com/’. $request_param );

    if ( is_wp_error( $remote ) )
    return new WP_Error( ‘site_down’, esc_html__( ‘Unable to communicate with Instagram.’, ‘woodmart’ ) );

    if ( 200 != wp_remote_retrieve_response_code( $remote ) )
    return new WP_Error( ‘invalid_response’, esc_html__( ‘Instagram did not return a 200.’, ‘woodmart’ ) );

    $shards = explode( ‘window._sharedData = ‘, $remote[‘body’] );
    $insta_json = explode( ‘;</script>’, $shards[1] );
    $insta_array = json_decode( $insta_json[0], TRUE );

    if ( !$insta_array )
    return new WP_Error( ‘bad_json’, esc_html__( ‘Instagram has returned invalid data.’, ‘woodmart’ ) );

    // old style
    if ( isset( $insta_array[‘entry_data’][‘UserProfile’][0][‘userMedia’] ) ) {
    $images = $insta_array[‘entry_data’][‘UserProfile’][0][‘userMedia’];
    $type = ‘old’;
    // old_2 style
    } elseif( $by_hashtag && isset( $insta_array[‘entry_data’][‘TagPage’][0][‘tag’][‘media’][‘nodes’] ) ) {
    $images = $insta_array[‘entry_data’][‘TagPage’][0][‘tag’][‘media’][‘nodes’];
    $type = ‘old_2’;
    }else if ( isset( $insta_array[‘entry_data’][‘ProfilePage’][0][‘user’][‘media’][‘nodes’] ) ) {
    $images = $insta_array[‘entry_data’][‘ProfilePage’][0][‘user’][‘media’][‘nodes’];
    $type = ‘old_2’;
    // new style
    } elseif( $by_hashtag && isset( $insta_array[‘entry_data’][‘TagPage’][0][‘graphql’][‘hashtag’][‘edge_hashtag_to_media’][‘edges’] ) ) {
    $images = $insta_array[‘entry_data’][‘TagPage’][0][‘graphql’][‘hashtag’][‘edge_hashtag_to_media’][‘edges’];
    $type = ‘new’;
    } else {
    return new WP_Error( ‘bad_json_2’, esc_html__( ‘Instagram has returned invalid data.’, ‘woodmart’ ) );
    }

    if ( !is_array( $images ) )
    return new WP_Error( ‘bad_array’, esc_html__( ‘Instagram has returned invalid data.’, ‘woodmart’ ) );

    $instagram = array();

    switch ( $type ) {
    case ‘old’:
    foreach ( $images as $image ) {
    if ( $image[‘user’][‘username’] == $username ) {
    $image[‘link’] = $image[‘link’];
    $image[‘images’][‘thumbnail’] = preg_replace( “/^http:/i”, “”, $image[‘images’][‘thumbnail’] );
    $image[‘images’][‘standard_resolution’] = preg_replace( “/^http:/i”, “”, $image[‘images’][‘standard_resolution’] );
    $image[‘images’][‘low_resolution’] = preg_replace( “/^http:/i”, “”, $image[‘images’][‘low_resolution’] );
    $instagram[] = array(
    ‘description’ => $image[‘caption’][‘text’],
    ‘link’ => $image[‘link’],
    ‘time’ => $image[‘created_time’],
    ‘comments’ => $image[‘comments’][‘count’],
    ‘likes’ => $image[‘likes’][‘count’],
    ‘thumbnail’ => $image[‘images’][‘thumbnail’],
    ‘large’ => $image[‘images’][‘standard_resolution’],
    ‘small’ => $image[‘images’][‘low_resolution’],
    ‘type’ => $image[‘type’]
    );
    }
    }
    break;
    case ‘old_2’:
    foreach ( $images as $image ) {
    $image[‘thumbnail_src’] = preg_replace( “/^https:/i”, “”, $image[‘thumbnail_src’] );
    $image[‘thumbnail’] = preg_replace( “/^https:/i”, “”, $image[‘thumbnail_resources’][0][‘src’] );
    $image[‘medium’] = preg_replace( “/^https:/i”, “”, $image[‘thumbnail_resources’][2][‘src’] );
    $image[‘large’] = $image[‘thumbnail_src’];
    $image[‘display_src’] = preg_replace( “/^https:/i”, “”, $image[‘display_src’] );
    if ( $image[‘is_video’] == true ) {
    $type = ‘video’;
    } else {
    $type = ‘image’;
    }
    $caption = esc_html__( ‘Instagram Image’, ‘woodmart’ );
    if ( ! empty( $image[‘caption’] ) ) {
    $caption = $image[‘caption’];
    }
    $instagram[] = array(
    ‘description’ => $caption,
    ‘link’ => ‘//instagram.com/p/’ . $image[‘code’],
    ‘time’ => $image[‘date’],
    ‘comments’ => $image[‘comments’][‘count’],
    ‘likes’ => $image[‘likes’][‘count’],
    ‘thumbnail’ => $image[‘thumbnail’],
    ‘medium’ => $image[‘medium’],
    ‘large’ => $image[‘large’],
    ‘original’ => $image[‘display_src’],
    ‘type’ => $type
    );
    }
    break;
    default:
    foreach ( $images as $image ) {
    $image = $image[‘node’];
    $caption = esc_html__( ‘Instagram Image’, ‘woodmart’ );
    if ( ! empty( $image[‘edge_media_to_caption’][‘edges’][0][‘node’][‘text’] ) ) $caption = $image[‘edge_media_to_caption’][‘edges’][0][‘node’][‘text’];

    $image[‘thumbnail_src’] = preg_replace( “/^https:/i”, “”, $image[‘thumbnail_src’] );
    $image[‘thumbnail’] = preg_replace( “/^https:/i”, “”, $image[‘thumbnail_resources’][0][‘src’] );
    $image[‘medium’] = preg_replace( “/^https:/i”, “”, $image[‘thumbnail_resources’][2][‘src’] );
    $image[‘large’] = $image[‘thumbnail_src’];

    $type = ( $image[‘is_video’] ) ? ‘video’ : ‘image’;

    $instagram[] = array(
    ‘description’ => $caption,
    ‘link’ => ‘//instagram.com/p/’ . $image[‘shortcode’],
    ‘comments’ => $image[‘edge_media_to_comment’][‘count’],
    ‘likes’ => $image[‘edge_liked_by’][‘count’],
    ‘thumbnail’ => $image[‘thumbnail’],
    ‘medium’ => $image[‘medium’],
    ‘large’ => $image[‘large’],
    ‘type’ => $type
    );
    }
    break;
    }
    // do not set an empty transient – should help catch private or empty accounts
    if ( ! empty( $instagram ) ) {
    $instagram = woodmart_compress( maybe_serialize( $instagram ) );
    set_transient( ‘instagram-media-new-‘.sanitize_title_with_dashes( $username ), $instagram, apply_filters( ‘null_instagram_cache_time’, HOUR_IN_SECONDS*2 ) );
    }
    }
    if ( ! empty( $instagram ) ) {
    $instagram = maybe_unserialize( woodmart_decompress( $instagram ) );
    return array_slice( $instagram, 0, $slice );
    } else {
    return new WP_Error( ‘no_images’, esc_html__( ‘Instagram did not return any images.’, ‘woodmart’ ) );
    }
    }

    Attachments:
    You must be logged in to view attached files.
    #38188

    Artem Temos
    Keymaster

    Hi,

    Please, update the theme to the latest version firstly.

    Regards

    #38213

    cri.galia
    Participant

    Instagram footer with new version is solved. Thanks.
    The post is colsed.

Viewing 3 posts - 1 through 3 (of 3 total)

The topic ‘Instagram footer’ is closed to new replies.