/home/vianto5/heredit.mx/wp-content/plugins/elementor-pro/modules/social/widgets
Edit: /home/vianto5/heredit.mx/wp-content/plugins/elementor-pro/modules/social/widgets/facebook-page.php (5136B)
experiments->is_feature_active( 'e_optimized_markup' );
}
/**
* Get style dependencies.
*
* Retrieve the list of style dependencies the widget requires.
*
* @since 3.24.0
* @access public
*
* @return array Widget style dependencies.
*/
public function get_style_depends(): array {
return [ 'widget-social' ];
}
protected function register_controls() {
$this->start_controls_section(
'section_content',
[
'label' => esc_html__( 'Page', 'elementor-pro' ),
]
);
Facebook_SDK_Manager::add_app_id_control( $this );
$this->add_control(
'widget_exclusively_web',
[
'type' => Controls_Manager::ALERT,
'alert_type' => 'info',
'content' => sprintf(
/* translators: 1: Link opening tag, 2: Link closing tag. */
esc_html__( 'Facebook page embedding is exclusively available for the web, mobile devices are not supported. %1$sLearn more%2$s', 'elementor-pro' ),
sprintf( '
', Facebook_SDK_Manager::FACEBOOK_PLUGINS_FAQ_URL ),
''
),
]
);
$this->add_control(
'url',
[
'label' => esc_html__( 'Link', 'elementor-pro' ),
'placeholder' => 'https://www.facebook.com/your-page/',
'default' => 'https://www.facebook.com/elemntor/',
'label_block' => true,
'description' => esc_html__( 'Paste the URL of the Facebook page.', 'elementor-pro' ),
]
);
$this->add_control(
'tabs',
[
'label' => esc_html__( 'Layout', 'elementor-pro' ),
'type' => Controls_Manager::SELECT2,
'multiple' => true,
'label_block' => true,
'default' => [
'timeline',
],
'options' => [
'timeline' => esc_html__( 'Timeline', 'elementor-pro' ),
'events' => esc_html__( 'Events', 'elementor-pro' ),
'messages' => esc_html__( 'Messages', 'elementor-pro' ),
],
]
);
$this->add_control(
'small_header',
[
'label' => esc_html__( 'Small Header', 'elementor-pro' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
]
);
$this->add_control(
'show_cover',
[
'label' => esc_html__( 'Cover Photo', 'elementor-pro' ),
'type' => Controls_Manager::SWITCHER,
'default' => 'yes',
]
);
$this->add_control(
'show_facepile',
[
'label' => esc_html__( 'Profile Photos', 'elementor-pro' ),
'type' => Controls_Manager::SWITCHER,
'default' => 'yes',
]
);
$this->add_control(
'show_cta',
[
'label' => esc_html__( 'Custom CTA Button', 'elementor-pro' ),
'type' => Controls_Manager::SWITCHER,
'default' => 'yes',
]
);
$this->add_control(
'height',
[
'label' => esc_html__( 'Height', 'elementor-pro' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px', 'em', 'rem', 'custom' ],
'default' => [
'size' => 500,
],
'range' => [
'px' => [
'min' => 50,
'max' => 1000,
],
'em' => [
'min' => 5,
'max' => 100,
],
'rem' => [
'min' => 5,
'max' => 100,
],
],
]
);
$this->end_controls_section();
}
public function render() {
$settings = $this->get_settings_for_display();
if ( empty( $settings['url'] ) ) {
echo $this->get_title() . ': ' . esc_html__( 'Please enter a valid URL', 'elementor-pro' ); // XSS ok.
return;
}
$height = $settings['height']['size'] . $settings['height']['unit'];
$attributes = [
'class' => 'elementor-facebook-widget fb-page',
'data-href' => $settings['url'],
'data-tabs' => implode( ',', $settings['tabs'] ),
'data-height' => $height,
'data-width' => '500px', // Try the max possible width
'data-small-header' => $settings['small_header'] ? 'true' : 'false',
'data-hide-cover' => $settings['show_cover'] ? 'false' : 'true', // if `show` - don't hide.
'data-show-facepile' => $settings['show_facepile'] ? 'true' : 'false',
'data-hide-cta' => $settings['show_cta'] ? 'false' : 'true', // if `show` - don't hide.
// The style prevent's the `widget.handleEmptyWidget` to set it as an empty widget.
'style' => 'min-height: 1px;height:' . $height,
];
$this->add_render_attribute( 'embed_div', $attributes );
echo '
get_render_attribute_string( 'embed_div' ) . '>
'; // XSS ok.
}
public function render_plain_content() {}
public function get_group_name() {
return 'social';
}
}