golden hour
/home/godaofbq/dev.hyperredbed.com/wp-content/plugins/essential-blocks/includes/Blocks
⬆️ Go Up
Upload
File/Folder
Size
Actions
Accordion.php
1.01 KB
Del
OK
AccordionItem.php
335 B
Del
OK
AddToCart.php
3.43 KB
Del
OK
AdvancedHeading.php
4.59 KB
Del
OK
AdvancedImage.php
1.94 KB
Del
OK
AdvancedNavigation.php
703 B
Del
OK
AdvancedTabs.php
886 B
Del
OK
AdvancedVideo.php
1021 B
Del
OK
Breadcrumbs.php
11.35 KB
Del
OK
Button.php
351 B
Del
OK
CallToAction.php
365 B
Del
OK
Column.php
220 B
Del
OK
CountDown.php
605 B
Del
OK
DualButton.php
666 B
Del
OK
FeatureList.php
332 B
Del
OK
FlipBox.php
648 B
Del
OK
FluentForms.php
3.77 KB
Del
OK
Form.php
5.4 KB
Del
OK
FormTextField.php
246 B
Del
OK
GoogleMap.php
2.55 KB
Del
OK
Icon.php
323 B
Del
OK
ImageComparison.php
620 B
Del
OK
ImageGallery.php
2.26 KB
Del
OK
InfoBox.php
374 B
Del
OK
InstagramFeed.php
6.05 KB
Del
OK
InteractivePromo.php
321 B
Del
OK
NftGallery.php
649 B
Del
OK
Notice.php
580 B
Del
OK
NumberCounter.php
598 B
Del
OK
Openverse.php
480 B
Del
OK
ParallaxSlider.php
664 B
Del
OK
PopUp.php
625 B
Del
OK
PostBlock.php
1.57 KB
Del
OK
PostCarousel.php
4.42 KB
Del
OK
PostGrid.php
5.75 KB
Del
OK
PostMeta.php
3.51 KB
Del
OK
PricingTable.php
333 B
Del
OK
ProductDetails.php
3.51 KB
Del
OK
ProductImages.php
2.8 KB
Del
OK
ProductPrice.php
4.75 KB
Del
OK
ProductRating.php
2.97 KB
Del
OK
ProgressBar.php
604 B
Del
OK
Row.php
455 B
Del
OK
ShapeDivider.php
602 B
Del
OK
Slider.php
996 B
Del
OK
Social.php
352 B
Del
OK
SocialShare.php
3.89 KB
Del
OK
Tab.php
214 B
Del
OK
TableOfContents.php
17.3 KB
Del
OK
Taxonomy.php
4.9 KB
Del
OK
TeamMember.php
361 B
Del
OK
Testimonial.php
373 B
Del
OK
Text.php
2.48 KB
Del
OK
ToggleContent.php
613 B
Del
OK
TypingText.php
594 B
Del
OK
WPForms.php
2.92 KB
Del
OK
WooProductGrid.php
8.3 KB
Del
OK
Wrapper.php
359 B
Del
OK
price.php
239 B
Del
OK
Edit: InstagramFeed.php
<?php namespace EssentialBlocks\Blocks; use EssentialBlocks\Core\Block; use EssentialBlocks\Utils\Helper; use EssentialBlocks\Utils\Settings; use EssentialBlocks\Utils\HttpRequest; class InstagramFeed extends Block { protected $attributes = [ 'blockId' => [ 'type' => 'string' ], 'layout' => [ 'type' => 'string', 'default' => 'overlay' ], 'overlayStyle' => [ 'type' => 'string', 'default' => 'overlay__simple' ], 'cardStyle' => [ 'type' => 'string', 'default' => 'content__outter' ], 'token' => [ 'type' => 'string', 'default' => '' ], 'columns' => [ 'type' => 'number', 'default' => '4' ], 'numberOfImages' => [ 'type' => 'number', 'default' => 6 ], 'thumbs' => [ 'type' => 'array', 'default' => [ ] ], 'hasEqualImages' => [ 'type' => 'boolean', 'default' => true ], 'showCaptions' => [ 'type' => 'boolean', 'default' => true ], 'showProfileName' => [ 'type' => 'boolean', 'default' => true ], 'showProfileImg' => [ 'type' => 'boolean', 'default' => true ], 'profileImg' => [ 'type' => 'string' ], 'profileName' => [ 'type' => 'string' ], 'showMeta' => [ 'type' => 'boolean', 'default' => true ], 'enableLink' => [ 'type' => 'boolean', 'default' => false ], 'openInNewTab' => [ 'type' => 'boolean', 'default' => false ], 'sortBy' => [ 'type' => 'string', 'default' => 'most_recent' ] ]; protected $frontend_scripts = [ 'essential-blocks-isotope', 'essential-blocks-image-loaded', 'essential-blocks-instagram-feed-block-script' ]; protected static $default_attributes = [ 'blockId' => '', 'token' => '', 'layout' => 'overlay', 'cardStyle' => 'content__outter', 'overlayStyle' => 'overlay__simple', 'hasEqualImages' => true, 'numberOfImages' => 6, 'sortBy' => 'most_recent', 'showCaptions' => true, 'showProfileName' => true, 'showProfileImg' => true, 'showMeta' => true, 'enableLink' => false, 'openInNewTab' => false, 'profileName' => '', 'align' => '' ]; private $settings; public function __construct() { $this->settings = Settings::get_instance(); } public function get_default_attributes() { self::$default_attributes[ 'profileImg' ] = $this->assets_manager->icon( 'user.png' ); return self::$default_attributes; } /** * Unique name of the block. * * @return string */ public function get_name() { return 'instagram-feed'; } /** * Register all other scripts * * @return void */ public function register_scripts() { $this->assets_manager->register( 'isotope', 'js/isotope.pkgd.min.js' ); $this->assets_manager->register( 'image-loaded', 'js/images-loaded.min.js' ); $this->assets_manager->register( 'instagram-feed-block-script', $this->path() . '/frontend.js', [ 'essential-blocks-isotope', 'essential-blocks-image-loaded' ] ); } public function render_callback( $attributes, $content ) { $attributes = wp_parse_args( $attributes, $this->get_default_attributes() ); $eb_settings = get_option( 'eb_settings', [ ] ); $token = ''; if ( ! empty( $eb_settings[ 'instagramToken' ] ) ) { $token = $eb_settings[ 'instagramToken' ]; } elseif ( ! empty( $attributes[ 'token' ] ) ) { $token = $attributes[ 'token' ]; } $numberOfImages = $attributes[ 'numberOfImages' ]; $sortBy = $attributes[ 'sortBy' ]; $url = "https://graph.instagram.com/me/media?fields=id,caption,media_type,media_url,permalink,thumbnail_url,timestamp,username&limit=500&access_token={$token}"; $key = 'eb-main-instagram-api_' . $token . '_' . $numberOfImages; $results = $this->settings->get_transient( $key ); if ( ! $results ) { $results = HttpRequest::get_instance()->get( $url ); $this->settings->set_transient( $key, $results ); } $images = isset( $results->data ) ? $results->data : [ ]; switch ( $sortBy ) { case 'most_recent': usort( $images, function ( $a, $b ) { return (int) ( strtotime( $a->timestamp ) < strtotime( $b->timestamp ) ); } ); break; case 'least_recent': usort( $images, function ( $a, $b ) { return (int) ( strtotime( $a->timestamp ) > strtotime( $b->timestamp ) ); } ); break; } ob_start(); Helper::views( 'instagram-feed', wp_parse_args( $attributes, [ 'block_object' => $this, 'classHook' => '', 'profileImg' => '', 'profileName' => '', 'images' => $images ] ) ); return ob_get_clean(); } }
Save