From 68b03f4c3435a8dfccce477203a1bcc06cf923af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E8=90=BD?= Date: Thu, 30 Jan 2020 16:47:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Ajax=E7=B2=98=E8=B4=B4?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=89=87=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/assets_load.php | 30 ++++++++++++++++++++--- assets/js/paste-upload-image.js | 1 + functions/Ajax.php | 43 ++++++++++++++++++++++++++++++++- functions/optimization.php | 26 ++++++++++++++++++++ 4 files changed, 95 insertions(+), 5 deletions(-) create mode 100644 assets/js/paste-upload-image.js diff --git a/assets/assets_load.php b/assets/assets_load.php index af0b8e0..782b906 100644 --- a/assets/assets_load.php +++ b/assets/assets_load.php @@ -1,15 +1,30 @@ + + \n')})};replaceLoadingTest=function(b){return e.val(function(a,c){return c.replace("{{"+b+"(uploading...)}}",b+"\n")})}})(jQuery); \ No newline at end of file diff --git a/functions/Ajax.php b/functions/Ajax.php index 7d6bc90..d2f02d0 100644 --- a/functions/Ajax.php +++ b/functions/Ajax.php @@ -16,4 +16,45 @@ add_action('wp_ajax_nopriv_gdk_test_email', 'gdk_test_email'); add_action('wp_ajax_gdk_test_email', 'gdk_test_email'); - +//粘贴上传图片 +function gdk_pasteup_imag() { + if($_FILES) { + global $post; + $post_ID = $post->ID; + $wp_upload_dir = wp_upload_dir(); + $file = $_FILES["imageFile"]; + $result=array ("success"=>false,"message"=>"Null"); + if (in_array($file["type"],array ("image/gif","image/jpeg","image/pjpeg","image/png"))) { + if ($file["error"]>0) { + $result['message']="error"; + } else { + $file_name = md5_file($file["tmp_name"]).str_replace("image/",".",$file["type"]);//img name + $file_url = $wp_upload_dir['url']."/".$file_name; + $file_path = $wp_upload_dir['path']."/".$file_name; + if (!file_exists($file_path)) { + move_uploaded_file($file["tmp_name"],$file_path); + $attachment = [ + 'guid' => $wp_upload_dir['url'] . '/' . basename( $file_path ), + 'post_mime_type' => $file['type'], + 'post_title' => $file_name, + 'post_content' => '', + 'post_status' => 'inherit' + ]; + $attach_id = wp_insert_attachment( $attachment, $file_name, $post_ID); + //这是wp内置的上传附件的函数 + require_once( ABSPATH . 'wp-admin/includes/image.php' ); + $attach_data = wp_generate_attachment_metadata( $attach_id, $file_path ); + wp_update_attachment_metadata( $attach_id, $attach_data ); + } + $result['success']= true; + $result['message']= $file_url; + } + } else { + $result['message']="Invalid file"; + } + echo(json_encode($result)); + exit(); + } +} +add_action('wp_ajax_nopriv_gdk_pasteup_imag', 'gdk_pasteup_imag'); +add_action('wp_ajax_gdk_pasteup_imag', 'gdk_pasteup_imag'); \ No newline at end of file diff --git a/functions/optimization.php b/functions/optimization.php index 4044aa0..c2c86a6 100644 --- a/functions/optimization.php +++ b/functions/optimization.php @@ -232,6 +232,32 @@ if(gdk_option('gdk_upload_rename')) { add_filter('wp_handle_upload_prefilter', 'gdk_upload_rename' ); } +// 禁用自动生成的图片尺寸 +function shapeSpace_disable_image_sizes($sizes) { + + unset($sizes['thumbnail']); // disable thumbnail size + unset($sizes['medium']); // disable medium size + unset($sizes['large']); // disable large size + unset($sizes['medium_large']); // disable medium-large size + unset($sizes['1536x1536']); // disable 2x medium-large size + unset($sizes['2048x2048']); // disable 2x large size + + return $sizes; + +} +add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes'); + +// 禁用缩放尺寸 +add_filter('big_image_size_threshold', '__return_false'); + +// 禁用其他图片尺寸 +function shapeSpace_disable_other_image_sizes() { + + remove_image_size('post-thumbnail'); // disable images added via set_post_thumbnail_size() + remove_image_size('another-size'); // disable any other added image sizes + +} +add_action('init', 'shapeSpace_disable_other_image_sizes'); // 搜索结果为1时候自动跳转到对应页面 function gdk_redirect_single_search_result() {