Files
display-featured-image-genesis/includes/widgets/class-displayfeaturedimagegenesis-widgets.php
T

67 lines
2.2 KiB
PHP
Raw Normal View History

2017-11-10 13:34:30 -05:00
<?php
class DisplayFeaturedImageGenesisWidgets {
/**
* Register widgets for plugin
*
* @since 2.0.0
*/
public function register_widgets() {
if ( function_exists( 'is_customize_preview' ) && is_customize_preview() && ! function_exists( 'genesis' ) ) {
return;
}
$widgets = array(
'author' => 'Display_Featured_Image_Genesis_Author_Widget',
'cpt-archive' => 'Display_Featured_Image_Genesis_Widget_CPT',
'taxonomy' => 'Display_Featured_Image_Genesis_Widget_Taxonomy',
);
2019-05-14 13:45:45 -04:00
require_once 'class-displayfeaturedimagegenesis-widgets-form.php';
require_once 'class-displayfeaturedimagegenesis-widgets-update.php';
2017-11-10 13:34:30 -05:00
foreach ( $widgets as $file => $widget ) {
2019-05-14 13:45:45 -04:00
require_once 'displayfeaturedimagegenesis-' . $file . '-widget.php';
2017-11-10 13:34:30 -05:00
register_widget( $widget );
}
}
/**
* Register widget shortcodes.
*/
public function register_shortcodes() {
2019-05-14 13:45:45 -04:00
require_once 'class-displayfeaturedimagegenesis-widgets-shortcodes.php';
2017-11-10 13:34:30 -05:00
$shortcode_class = new DisplayFeaturedImageGenesisWidgetsShortcodes();
foreach ( array( 'author', 'post_type', 'term' ) as $shortcode ) {
add_shortcode( "displayfeaturedimagegenesis_{$shortcode}", array( $shortcode_class, "shortcode_{$shortcode}" ) );
}
2019-05-14 13:45:45 -04:00
$setting = displayfeaturedimagegenesis_get_setting( 'shortcodes' );
if ( ! $setting ) {
2017-11-10 13:34:30 -05:00
return;
}
2019-05-14 13:45:45 -04:00
require_once 'class-displayfeaturedimagegenesis-widgets-shortcodes-editor.php';
2018-03-28 20:00:08 -04:00
$editor = new DisplayFeaturedImageGenesisWidgetsShortcodesEditor();
add_filter( 'sixtenpress_shortcode_inline_css', array( $editor, 'inline_css' ) );
add_action( 'sixtenpress_shortcode_init', array( $editor, 'shortcode_buttons' ) );
add_action( 'sixtenpress_shortcode_modal', array( $editor, 'do_modal' ) );
2017-11-10 13:34:30 -05:00
}
/**
* Enqueue and localize widget scripts.
*/
public function enqueue_scripts() {
if ( function_exists( 'is_customize_preview' ) && is_customize_preview() && ! function_exists( 'genesis' ) ) {
return;
}
$screen = get_current_screen();
if ( in_array( $screen->id, array( 'widgets', 'customize' ), true ) ) {
wp_enqueue_script( 'widget_selector' );
wp_localize_script( 'widget_selector', 'displayfeaturedimagegenesis_ajax_object', array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
) );
}
}
}