frontend.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <div class="fl-widget">
  2. <?php
  3. // Get builder post data.
  4. $post_data = FLBuilderModel::get_post_data();
  5. // Widget class
  6. if ( isset( $settings->widget ) ) {
  7. $widget_class = $settings->widget;
  8. } elseif ( isset( $post_data['widget'] ) && FLBuilderModel::is_builder_active() ) {
  9. $widget_class = $post_data['widget'];
  10. }
  11. if ( isset( $widget_class ) && class_exists( $widget_class ) ) {
  12. global $wp_widget_factory;
  13. // Widget instance
  14. $widget_instance = new $widget_class();
  15. // Widget settings
  16. $settings_key = 'widget-' . $widget_instance->id_base;
  17. $widget_settings = isset( $settings->$settings_key ) ? (array) $settings->$settings_key : array();
  18. // Check to see if $widget_class key does not exist and registered it as lowercase instead.
  19. if ( ! isset( $wp_widget_factory->widgets[ $widget_class ] ) && isset( $wp_widget_factory->widgets[ strtolower( $widget_class ) ] ) ) {
  20. $widget_class = strtolower( $widget_class );
  21. }
  22. // Render the widget
  23. the_widget( $widget_class, $widget_settings, array(
  24. 'widget_id' => 'fl_builder_widget_' . $module->node,
  25. ) );
  26. } elseif ( isset( $widget_class ) && FLBuilderModel::is_builder_active() ) {
  27. // Widget doesn't exist!
  28. printf( _x( '%s no longer exists.', '%s stands for widget slug.', 'fl-builder' ), $widget_class );
  29. }
  30. ?>
  31. </div>