标题前:
<?php
$post_id = $post->ID;
if ( isset( $_POST[\'html-upload\'] ) && ! empty( $_FILES ) ) {
require_once( ABSPATH . \'wp-admin/includes/admin.php\' );
$id = media_handle_upload( \'async-upload\', $post_id ); //post id of Client Files page
unset( $_FILES );
if( is_wp_error( $id ) ) {
$errors[\'upload_error\'] = $id;
$id = false;
}
if( $errors ) {
echo "<p>There was an error uploading your file.</p>";
} else {
echo "<p>Your file has been uploaded.</p>";
}
}
?>
之后,在需要表单的地方添加以下内容:
<?php if ( is_user_logged_in() ) { ?>
<form id="file-form" enctype="multipart/form-data" action="<?php echo $_SERVER[\'REQUEST_URI\']; ?>" method="POST">
<p id="async-upload-wrap"><label for="async-upload">File Upload:</label>
<input type="file" id="async-upload" name="async-upload"> <input type="submit" value="Upload" name="html-upload"></p>
<p><input type="hidden" name="post_id" id="post_id" value="<?php echo $post_id ?>" />
<?php wp_nonce_field( \'client-file-upload\' ); ?>
<input type="hidden" name="redirect_to" value="<?php echo $_SERVER[\'REQUEST_URI\']; ?>" /></p>
<p><input type="submit" value="Save all changes" name="save" style="display: none;"></p>
</form>
<?php } ?>