true, '_builtin' => false, 'has_archive' => true, ); $output = 'names'; $post_types = get_post_types( $args, $output ); foreach ( $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-cpt' /*, array( $this, 'do_validation_things' )*/ ); } 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 '
' . sprintf( __( 'You may optionally set a featured image for the %s archive to use.', 'display-featured-image-genesis' ), $post_type ) . '
'; } /** * 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(); $post_type = $screen->post_type; $setting = get_option( 'displayfeaturedimagegenesis-cpt' ); if ( empty( $setting[$post_type] ) ) { $setting[$post_type] = ''; } if ( ! empty( $setting[$post_type] ) ) { $id = Display_Featured_Image_Genesis_Common::get_image_id( $setting[$post_type] ); $preview = wp_get_attachment_image_src( $id, 'medium' ); echo '' . sprintf( __( 'If you would like to use a featured image for the custom post type archive, upload it here. Must be at least %1$s pixels wide.', 'display-featured-image-genesis' ), absint( $item->large + 1 ) ) . '
'; } }