'featured-image-2', 'post_type' => 'page', 'name' => 'Featured Image 2', 'label_set' => 'Set featured image 2', 'label_remove' => 'Remove featured image 2', ]; /** * Constructor. * * @since 5.2 * @access public * @param array $args The arguments. * @return void */ public function __construct( $args ) { $this->args = wp_parse_args( $args, $this->defaults ); $this->args['metabox_id'] = $this->args['id'] . '_' . $this->args['post_type']; $this->args['post_meta_key'] = 'kd_' . $this->args['metabox_id'] . '_id'; add_action( 'add_meta_boxes', [ $this, 'add_meta_box' ] ); } /** * Add admin metabox for an additional featured image. * * @since 5.2 * @access public * @return void */ public function add_meta_box() { add_meta_box( $this->args['metabox_id'], $this->args['name'], [ $this, 'meta_box_content' ], $this->args['post_type'], 'side', 'low' ); } /** * Output the metabox content. * * @since 5.2 * @access public * @global object $post * @return void */ public function meta_box_content() { global $post; $image_id = fusion_data()->post_meta( $post->ID )->get( $this->args['post_meta_key'] ); $output = ''; $preview_image_css = ' style="display:none;"'; $remove_image_css = ' style="display:none;"'; if ( $image_id ) { $preview_image = wp_get_attachment_image( $image_id, [ 266, 266 ], false, [ 'class' => 'fusion-preview-image', ] ); $remove_image_css = ''; } else { $preview_image = ''; $preview_image_css = ''; } $preview_image = '' . $this->args['label_set'] . '' . $preview_image; $set_image_link = '
'; $remove_image_link = ''; $output = ''; echo $output; // phpcs:ignore WordPress.Security.EscapeOutput } /** * Retrieve the ID of the featured image. * * @since 5.2 * @static * @access public * @global object $post * @param string $image_id Internal ID of the featured image. * @param string $post_type The post type of the post the featured image belongs to. * @param int $post_id A custom post ID. * @return int The featured image ID. */ public static function get_featured_image_id( $image_id, $post_type, $post_id = null ) { global $post; if ( is_null( $post_id ) ) { $post_id = get_the_ID(); } return fusion_data()->post_meta( $post_id )->get( 'kd_' . $image_id . '_' . $post_type . '_id' ); } } } if ( ! function_exists( 'fusion_get_featured_image_id' ) ) { /** * Get the ID of the featured image. * * @since 5.2 * @param int $image_id The image ID. * @param string $post_type The post-type. * @param int $post_id The post-ID. * @return int */ function fusion_get_featured_image_id( $image_id, $post_type, $post_id = null ) { if ( ! class_exists( 'kdMultipleFeaturedImages' ) ) { return 0; } return kdMultipleFeaturedImages::get_featured_image_id( $image_id, $post_type, $post_id ); } } /* Omit closing PHP tag to avoid "Headers already sent" issues. */