name = 'file'; $this->label = 'File'; $this->category = 'content'; } public function render( $field, $value = '', $name = null ) { $name = $name ?: "metaforge[{$field['name']}]"; $file_url = ''; $filename = ''; if ( ! empty( $value ) ) { $file_url = wp_get_attachment_url( $value ); $attached = get_attached_file( $value ); $filename = $attached ? basename( $attached ) : ( get_the_title( $value ) ?: 'Download File' ); } $has_file = ! empty( $file_url ); echo '
'; if ( ! empty( $field['label'] ) ) { echo ''; } echo '
'; echo ''; $preview_hidden = $has_file ? '' : ' mfe-hidden'; $preview_style = $has_file ? '' : ' style="display:none;"'; echo '
'; echo ''; echo '' . esc_html( $filename ) . ''; echo '
'; $select_hidden = $has_file ? ' mfe-hidden' : ''; $select_style = $has_file ? ' style="display:none;"' : ''; echo ''; $remove_hidden = $has_file ? '' : ' mfe-hidden'; $remove_style = $has_file ? '' : ' style="display:none;"'; echo ''; echo '
'; // close wrap echo '
'; // close field } public function format_value( $value, $post_id, $field ) { return metaforge_format_file( $value ); } public function sanitize( $value, $field ) { return intval( $value ); } }