diff --git a/display-featured-image-genesis.php b/display-featured-image-genesis.php index 64a17c3..a91b3a7 100644 --- a/display-featured-image-genesis.php +++ b/display-featured-image-genesis.php @@ -28,6 +28,7 @@ if ( ! defined( 'WPINC' ) ) { require plugin_dir_path( __FILE__ ) . 'includes/class-displayfeaturedimagegenesis.php'; require plugin_dir_path( __FILE__ ) . 'includes/class-displayfeaturedimagegenesis-admin.php'; require plugin_dir_path( __FILE__ ) . 'includes/class-displayfeaturedimagegenesis-common.php'; +require plugin_dir_path( __FILE__ ) . 'includes/class-displayfeaturedimagegenesis-customposttypes.php'; require plugin_dir_path( __FILE__ ) . 'includes/class-displayfeaturedimagegenesis-description.php'; require plugin_dir_path( __FILE__ ) . 'includes/class-displayfeaturedimagegenesis-output.php'; require plugin_dir_path( __FILE__ ) . 'includes/class-displayfeaturedimagegenesis-rss.php'; @@ -37,6 +38,7 @@ require plugin_dir_path( __FILE__ ) . 'includes/class-displayfeaturedimagegenesi // Instantiate dependent classes $displayfeaturedimagegenesis_admin = new Display_Featured_Image_Genesis_Admin(); $displayfeaturedimagegenesis_common = new Display_Featured_Image_Genesis_Common(); +$displayfeaturedimagegenesis_cpt = new Display_Featured_Image_Genesis_Custom_Post_Types(); $displayfeaturedimagegenesis_description = new Display_Featured_Image_Genesis_Description(); $displayfeaturedimagegenesis_output = new Display_Featured_Image_Genesis_Output(); $displayfeaturedimagegenesis_rss = new Display_Featured_Image_Genesis_RSS(); @@ -46,6 +48,7 @@ $displayfeaturedimagegenesis_taxonomies = new Display_Featured_Image_Genesis_Ta $displayfeaturedimage = new Display_Featured_Image_Genesis( $displayfeaturedimagegenesis_admin, $displayfeaturedimagegenesis_common, + $displayfeaturedimagegenesis_cpt, $displayfeaturedimagegenesis_description, $displayfeaturedimagegenesis_output, $displayfeaturedimagegenesis_rss, diff --git a/includes/class-displayfeaturedimagegenesis-customposttypes.php b/includes/class-displayfeaturedimagegenesis-customposttypes.php new file mode 100644 index 0000000..e9cb276 --- /dev/null +++ b/includes/class-displayfeaturedimagegenesis-customposttypes.php @@ -0,0 +1,117 @@ + true, + '_builtin' => false, + 'has_archive' => true, + ); + $output = 'names'; + + $this->post_types = get_post_types( $args, $output ); + + foreach ( $this->post_types as $post_type ) { + add_submenu_page( + "edit.php?post_type=$post_type", + __( 'Featured Image', 'display-featured-image-genesis' ), + __( 'Featured Image', 'display-featured-image-genesis' ), + 'manage_categories', + "displayfeaturedimagegenesis-$post_type", + array( $this, 'do_settings_form' ) + ); + + register_setting( 'displayfeaturedimagegenesis_cpt', "displayfeaturedimagegenesis-$post_type" /*, array( $this, 'do_validation_things' )*/ ); + + $this->post_type = $post_type; + + } + + add_action( 'admin_init', array( $this, 'settings' ) ); + + } + + /** + * create CPT settings form + * @return form Display Featured Image for Genesis for CPT + * + * @since x.y.z + */ + public function do_settings_form() { + $page_title = get_admin_page_title(); + + echo '
' . __( 'You may optionally set a featured image for the custom post type archive to use.', 'display-featured-image-genesis' ) . '
'; + } + + /** + * Default image uploader + * + * @return image + * + * @since 1.2.1 + */ + public function set_cpt_image() { + + $item = Display_Featured_Image_Genesis_Common::get_image_variables(); + $screen = get_current_screen(); + $setting = get_option( "displayfeaturedimagegenesis-$this->post_type" ); + + echo 'is there a ' . $setting; + if ( ! empty( $setting['image'] ) ) { + $preview = wp_get_attachment_image_src( $setting['image'], 'medium' ); + echo '' . sprintf( + __( 'If you would like to use a default image for the featured image, upload it here. Must be at least %1$s pixels wide.', 'display-featured-image-genesis' ), + absint( $item->large + 1 ) + ) . '
'; + + } + +} diff --git a/includes/class-displayfeaturedimagegenesis.php b/includes/class-displayfeaturedimagegenesis.php index a3924cf..7894089 100644 --- a/includes/class-displayfeaturedimagegenesis.php +++ b/includes/class-displayfeaturedimagegenesis.php @@ -16,9 +16,10 @@ */ class Display_Featured_Image_Genesis { - function __construct( $admin, $common, $description, $output, $rss, $settings, $taxonomies ) { + function __construct( $admin, $common, $cpt, $description, $output, $rss, $settings, $taxonomies ) { $this->admin = $admin; $this->common = $common; + $this->cpt = $cpt; $this->archive = $description; $this->output = $output; $this->rss = $rss; @@ -40,6 +41,7 @@ class Display_Featured_Image_Genesis { add_action( 'admin_init', array( $this->admin, 'set_up_post_type_columns' ) ); add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) ); add_action( 'admin_menu', array( $this->settings, 'do_submenu_page' ) ); + add_action( 'admin_menu', array( $this->cpt, 'set_up_cpts' ) ); add_action( 'get_header', array( $this->output, 'manage_output' ) ); add_action( 'template_redirect', array( $this->rss, 'maybe_do_feed' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); @@ -162,13 +164,13 @@ class Display_Featured_Image_Genesis { wp_register_script( 'displayfeaturedimage-upload', plugins_url( '/includes/js/settings-upload.js', dirname( __FILE__ ) ), array( 'jquery', 'media-upload', 'thickbox' ), $version ); - if ( 'appearance_page_displayfeaturedimagegenesis' === get_current_screen()->id || ! empty( get_current_screen()->taxonomy ) ) { + // if ( 'appearance_page_displayfeaturedimagegenesis' === get_current_screen()->id || ! empty( get_current_screen()->taxonomy ) ) { wp_enqueue_media(); wp_enqueue_script( 'displayfeaturedimage-upload' ); wp_localize_script( 'displayfeaturedimage-upload', 'objectL10n', array( 'text' => __( 'Choose Image', 'display-featured-image-genesis' ), ) ); - } + // } }