mirror of
https://github.com/10h30/display-featured-image-genesis.git
synced 2026-07-18 14:03:20 +09:00
Add general widgets class
This commit is contained in:
@@ -46,6 +46,7 @@ function display_featured_image_genesis_require() {
|
||||
'settings/class-displayfeaturedimagegenesis-settings',
|
||||
'class-displayfeaturedimagegenesis-taxonomies',
|
||||
'sixtenpress-shortcodes/sixtenpress-shortcodes',
|
||||
'widgets/class-displayfeaturedimagegenesis-widgets',
|
||||
);
|
||||
|
||||
foreach ( $files as $file ) {
|
||||
@@ -67,6 +68,7 @@ $displayfeaturedimagegenesis_post_meta = new Display_Featured_Image_Genesis_Po
|
||||
$displayfeaturedimagegenesis_rss = new Display_Featured_Image_Genesis_RSS();
|
||||
$displayfeaturedimagegenesis_settings = new Display_Featured_Image_Genesis_Settings();
|
||||
$displayfeaturedimagegenesis_taxonomies = new Display_Featured_Image_Genesis_Taxonomies();
|
||||
$displayfeaturedimagegenesis_widgets = new DisplayFeaturedImageGenesisWidgets();
|
||||
|
||||
$displayfeaturedimage = new Display_Featured_Image_Genesis(
|
||||
$displayfeaturedimagegenesis_admin,
|
||||
@@ -79,7 +81,8 @@ $displayfeaturedimage = new Display_Featured_Image_Genesis(
|
||||
$displayfeaturedimagegenesis_post_meta,
|
||||
$displayfeaturedimagegenesis_rss,
|
||||
$displayfeaturedimagegenesis_settings,
|
||||
$displayfeaturedimagegenesis_taxonomies
|
||||
$displayfeaturedimagegenesis_taxonomies,
|
||||
$displayfeaturedimagegenesis_widgets
|
||||
);
|
||||
|
||||
$displayfeaturedimage->run();
|
||||
|
||||
@@ -81,6 +81,13 @@ class Display_Featured_Image_Genesis {
|
||||
*/
|
||||
protected $taxonomies;
|
||||
|
||||
/**
|
||||
* Register widgets and related shortcodes.
|
||||
*
|
||||
* @var \DisplayFeaturedImageGenesisWidgets
|
||||
*/
|
||||
protected $widgets;
|
||||
|
||||
/**
|
||||
* Display_Featured_Image_Genesis constructor.
|
||||
*
|
||||
@@ -95,7 +102,7 @@ class Display_Featured_Image_Genesis {
|
||||
* @param $settings
|
||||
* @param $taxonomies
|
||||
*/
|
||||
function __construct( $admin, $author, $common, $customizer, $description, $helptabs, $output, $post_meta, $rss, $settings, $taxonomies ) {
|
||||
function __construct( $admin, $author, $common, $customizer, $description, $helptabs, $output, $post_meta, $rss, $settings, $taxonomies, $widgets ) {
|
||||
$this->admin = $admin;
|
||||
$this->author = $author;
|
||||
$this->common = $common;
|
||||
@@ -107,6 +114,7 @@ class Display_Featured_Image_Genesis {
|
||||
$this->rss = $rss;
|
||||
$this->settings = $settings;
|
||||
$this->taxonomies = $taxonomies;
|
||||
$this->widgets = $widgets;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -122,7 +130,6 @@ class Display_Featured_Image_Genesis {
|
||||
|
||||
// Plugin setup
|
||||
add_action( 'after_setup_theme', array( $this, 'add_plugin_supports' ) );
|
||||
add_action( 'widgets_init', array( $this, 'register_widgets' ) );
|
||||
add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) );
|
||||
add_filter( 'plugin_action_links_' . DISPLAYFEATUREDIMAGEGENESIS_BASENAME, array( $this, 'add_settings_link' ) );
|
||||
|
||||
@@ -130,6 +137,11 @@ class Display_Featured_Image_Genesis {
|
||||
add_action( 'admin_init', array( $this->admin, 'set_up_columns' ) );
|
||||
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
||||
|
||||
// Widgets
|
||||
add_action( 'widgets_init', array( $this->widgets, 'register_widgets' ) );
|
||||
add_action( 'widgets_init', array( $this->widgets, 'register_shortcodes' ) );
|
||||
add_action( 'admin_enqueue_scripts', array( $this->widgets, 'enqueue_scripts' ) );
|
||||
|
||||
// Taxonomies, Author, Post Meta
|
||||
add_filter( 'displayfeaturedimagegenesis_get_taxonomies', array( $this->taxonomies, 'remove_post_status_terms' ) );
|
||||
add_action( 'admin_init', array( $this->taxonomies, 'set_taxonomy_meta' ) );
|
||||
@@ -151,7 +163,6 @@ class Display_Featured_Image_Genesis {
|
||||
|
||||
// RSS
|
||||
add_action( 'template_redirect', array( $this->rss, 'maybe_do_feed' ) );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -57,10 +57,6 @@ class DisplayFeaturedImageGenesisWidgetsShortcodes {
|
||||
* Add media shortcode buttons to the editor.
|
||||
*/
|
||||
public function shortcode_buttons() {
|
||||
$setting = displayfeaturedimagegenesis_get_setting();
|
||||
if ( ! $setting['shortcodes'] ) {
|
||||
return;
|
||||
}
|
||||
$widgets = array(
|
||||
'displayfeaturedimagegenesis_term' => __( 'Add Featured Term Widget', 'display-featured-image-genesis' ),
|
||||
'displayfeaturedimagegenesis_author' => __( 'Add Featured Author Widget', 'display-featured-image-genesis' ),
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
<?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',
|
||||
);
|
||||
|
||||
require_once plugin_dir_path( __FILE__ ) . 'class-displayfeaturedimagegenesis-widgets-form.php';
|
||||
require_once plugin_dir_path( __FILE__ ) . 'class-displayfeaturedimagegenesis-widgets-update.php';
|
||||
foreach ( $widgets as $file => $widget ) {
|
||||
require_once plugin_dir_path( __FILE__ ) . 'displayfeaturedimagegenesis-' . $file . '-widget.php';
|
||||
register_widget( $widget );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Register widget shortcodes.
|
||||
*/
|
||||
public function register_shortcodes() {
|
||||
require_once plugin_dir_path( __FILE__ ) . 'class-displayfeaturedimagegenesis-widgets-shortcodes.php';
|
||||
$shortcode_class = new DisplayFeaturedImageGenesisWidgetsShortcodes();
|
||||
foreach ( array( 'author', 'post_type', 'term' ) as $shortcode ) {
|
||||
add_shortcode( "displayfeaturedimagegenesis_{$shortcode}", array( $shortcode_class, "shortcode_{$shortcode}" ) );
|
||||
}
|
||||
$setting = displayfeaturedimagegenesis_get_setting();
|
||||
if ( ! $setting['shortcodes'] ) {
|
||||
return;
|
||||
}
|
||||
add_filter( 'sixtenpress_shortcode_inline_css', array( $shortcode_class, 'inline_css' ) );
|
||||
add_action( 'sixtenpress_shortcode_init', array( $shortcode_class, 'shortcode_buttons' ) );
|
||||
add_action( 'sixtenpress_shortcode_modal', array( $shortcode_class, 'do_modal' ) );
|
||||
add_action( 'sixtenpress_shortcode_before_media_button', array( $shortcode_class, 'button_open' ) );
|
||||
add_action( 'sixtenpress_shortcode_after_media_button', array( $shortcode_class, 'button_close' ) );
|
||||
add_action( 'admin_enqueue_scripts', array( $shortcode_class, 'inline_script' ), 1000 );
|
||||
}
|
||||
|
||||
/**
|
||||
* 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' ),
|
||||
) );
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user