WordPress开发函数attachment_submitbox_metadata()

WordPress开发函数attachment_submitbox_metadata(),在“发布元框”中显示不可编辑的附件元数据。

用法:

attachment_submitbox_metadata()

来源:

文件: wp-admin/includes/media.php

function attachment_submitbox_metadata() {

$post = get_post();

$attachment_id = $post->ID;

$file = get_attached_file( $attachment_id );

$filen**e = esc_html( wp_basen**e( $file ) );

$media_dims = ”;

$meta = wp_get_attachment_metadata( $attachment_id );

if ( isset( $meta[‘width’], $meta[‘height’] ) ) {

$media_dims .= “<span id=’media-dims-$attachment_id’>{$meta[‘width’]}&**p;nbsp;&**p;times;&**p;nbsp;{$meta[‘height’]}</span> “;

}

/** This filter is documented in wp-admin/includes/media.php */

$media_dims = apply_filters( ‘media_meta’, $media_dims, $post );

$att_url = wp_get_attachment_url( $attachment_id );

$author = new WP_User( $post->post_author );

$uploaded_by_n**e = __( ‘(no author)’ );

$uploaded_by_link = ”;

if ( $author->exists() ) {

$uploaded_by_n**e = $author->display_n**e ? $author->display_n**e : $author->nickn**e;

$uploaded_by_link = get_edit_user_link( $author->ID );

}

?>

<div class=”misc-pub-section misc-pub-uploadedby”>

<?php if ( $uploaded_by_link ) { ?>

<?php _e( ‘Uploaded by:’ ); ?> <a href=”https://www.wpzt.net/<?php echo $uploaded_by_link; ?>”><strong><?php echo $uploaded_by_n**e; ?></strong></a>

<?php } else { ?>

<?php _e( ‘Uploaded by:’ ); ?> <strong><?php echo $uploaded_by_n**e; ?></strong>

<?php } ?>

</div>

<?php

if ( $post->post_parent ) {

$post_parent = get_post( $post->post_parent );

if ( $post_parent ) {

$uploaded_to_title = $post_parent->post_title ? $post_parent->post_title : __( ‘(no title)’ );

$uploaded_to_link = get_edit_post_link( $post->post_parent, ‘raw’ );

?>

<div class=”misc-pub-section misc-pub-uploadedto”>

<?php if ( $uploaded_to_link ) { ?>

<?php _e( ‘Uploaded to:’ ); ?> <a href=”https://www.wpzt.net/<?php echo $uploaded_to_link; ?>”><strong><?php echo $uploaded_to_title; ?></strong></a>

<?php } else { ?>

<?php _e( ‘Uploaded to:’ ); ?> <strong><?php echo $uploaded_to_title; ?></strong>

<?php } ?>

</div>

<?php

}

}

?>

<div class=”misc-pub-section misc-pub-attachment”>

<label for=”attachment_url”><?php _e( ‘File URL:’ ); ?></label>

<input type=”text” class=”widefat urlfield” readonly=”readonly” n**e=”attachment_url” id=”attachment_url” value=”<?php echo esc_attr( $att_url ); ?>” />

<span class=”copy-to-clipboard-container”>

<button type=”button” class=”button copy-attachment-url edit-media” data-clipboard-target=”#attachment_url”><?php _e( ‘Copy URL to clipboard’ ); ?></button>

<span class=”success hidden” aria-hidden=”true”><?php _e( ‘Copied!’ ); ?></span>

</span>

</div>

<div class=”misc-pub-section misc-pub-filen**e”>

<?php _e( ‘File n**e:’ ); ?> <strong><?php echo $filen**e; ?></strong>

</div>

<div class=”misc-pub-section misc-pub-filetype”>

<?php _e( ‘File type:’ ); ?>

<strong>

<?php

if ( preg_**tch( ‘/^.*?\.(\w+)$/’, get_attached_file( $post->ID ), $**tches ) ) {

echo esc_html( strtoupper( $**tches[1] ) );

list( $mime_type ) = e**lode( ‘/’, $post->post_mime_type );

if ( ‘i**ge’ !== $mime_type &**p;&**p; ! empty( $meta[‘mime_type’] ) ) {

if ( “$mime_type/” . strtolower( $**tches[1] ) !== $meta[‘mime_type’] ) {

echo ‘ (‘ . $meta[‘mime_type’] . ‘)’;

}

}

} else {

echo strtoupper( str_replace( ‘i**ge/’, ”, $post->post_mime_type ) );

}

?>

</strong>

</div>

<?php

$file_size = false;

if ( isset( $meta[‘filesize’] ) ) {

$file_size = $meta[‘filesize’];

} elseif ( file_exists( $file ) ) {

$file_size = filesize( $file );

}

if ( ! empty( $file_size ) ) {

?>

<div class=”misc-pub-section misc-pub-filesize”>

<?php _e( ‘File size:’ ); ?> <strong><?php echo size_for**t( $file_size ); ?></strong>

</div>

<?php

}

if ( preg_**tch( ‘#^(audio|video)/#’, $post->post_mime_type ) ) {

$fields = array(

‘length_for**tted’ => __( ‘Length:’ ),

‘bitrate’ => __( ‘Bitrate:’ ),

);

/**

* Filters the audio and video metadata fields to be shown in the publish meta box.

*

* The key for each item in the array should correspond to an attachment

* metadata key, and the value should be the desired label.

*

* @since 3.7.0

* @since 4.9.0 Added the `$post` par**eter.

*

* @par** array $fields An array of the attachment metadata keys and labels.

* @par** WP_Post $post WP_Post object for the current attachment.

*/

$fields = apply_filters( ‘media_submitbox_misc_sections’, $fields, $post );

foreach ( $fields as $key => $label ) {

if ( empty( $meta[ $key ] ) ) {

continue;

}

?>

<div class=”misc-pub-section misc-pub-mime-meta misc-pub-<?php echo sanitize_html_class( $key ); ?>”>

<?php echo $label; ?>

<strong>

<?php

switch ( $key ) {

case ‘bitrate’:

echo round( $meta[‘bitrate’] / 1000 ) . ‘kb/s’;

if ( ! empty( $meta[‘bitrate_mode’] ) ) {

echo ‘ ‘ . strtoupper( esc_html( $meta[‘bitrate_mode’] ) );

}

break;

default:

echo esc_html( $meta[ $key ] );

break;

}

?>

</strong>

</div>

<?php

}

$fields = array(

‘datafor**t’ => __( ‘Audio For**t:’ ),

‘codec’ => __( ‘Audio Codec:’ ),

);

/**

* Filters the audio attachment metadata fields to be shown in the publish meta box.

*

* The key for each item in the array should correspond to an attachment

* metadata key, and the value should be the desired label.

*

* @since 3.7.0

* @since 4.9.0 Added the `$post` par**eter.

*

* @par** array $fields An array of the attachment metadata keys and labels.

* @par** WP_Post $post WP_Post object for the current attachment.

*/

$audio_fields = apply_filters( ‘audio_submitbox_misc_sections’, $fields, $post );

foreach ( $audio_fields as $key => $label ) {

if ( empty( $meta[‘audio’][ $key ] ) ) {

continue;

}

?>

<div class=”misc-pub-section misc-pub-audio misc-pub-<?php echo sanitize_html_class( $key ); ?>”>

<?php echo $label; ?> <strong><?php echo esc_html( $meta[‘audio’][ $key ] ); ?></strong>

</div>

<?php

}

}

if ( $media_dims ) {

?>

<div class=”misc-pub-section misc-pub-dimensions”>

<?php _e( ‘Dimensions:’ ); ?> <strong><?php echo $media_dims; ?></strong>

</div>

<?php

}

if ( ! empty( $meta[‘original_i**ge’] ) ) {

?>

<div class=”misc-pub-section misc-pub-original-i**ge”>

<?php _e( ‘Original i**ge:’ ); ?>

<a href=”https://www.wpzt.net/<?php echo esc_url( wp_get_original_i**ge_url( $attachment_id ) ); ?>”>

<?php echo esc_html( wp_basen**e( wp_get_original_i**ge_path( $attachment_id ) ) ); ?>

</a>

</div>

<?php

}

}

更新日志:

WordPress开发函数attachment_submitbox_metadata() (https://www.wpzt.net/) WordPress开发教程 第1张

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容