Loading... <h2><span class="ask-title">附件地址</span></h2> <span class="ask-title">wp-content/uploads/年/月/日</span> 例子 <span style="color: #ff0000;">/wp-content/uploads/2024/10/07/</span>20241007214227417.png /wp-content/uploads/2024/10/07/<span style="color: #ff0000;">原版没有日期只有年月</span> <pre class="line-numbers language-markup"><code class="language-markup">/** wordpress年月日文件目录**/ function custom_upload_directory( $uploads ) { date_default_timezone_set("Asia/Shanghai");//设置时区 $subdir = date("Y/m/d");//设置目录格式 $uploads['subdir'] = $subdir; $uploads['path'] = $uploads['basedir'].DIRECTORY_SEPARATOR.$subdir; $uploads['url'] = $uploads['baseurl'].'/'.$subdir; return $uploads; } add_filter( 'upload_dir', 'custom_upload_directory' );</code></pre> 需要在主题文件夹下,修改function.php函数,实现文件上传目录由原来的"wp-content/uploads/年/月"的方式,修改为"wp-content/uploads/年/月/日" <h2>上传附件重命名</h2> <span class="ask-title">wp-content/uploads/年/月/日</span> 例子 /wp-content/uploads/2024/10/07/<span style="color: #ff0000;">20241007214227417.png</span> <span style="color: #ff0000;">20241007214227417</span>随日期生成 <pre class="line-numbers language-php"><code class="language-php">add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' ); function custom_upload_filter( $file ){ $info = pathinfo($file['name']); $ext = $info['extension']; $filedate = date('YmdHis').rand(10,99);//为了避免时间重复,再加一段2位的随机数 $file['name'] = $filedate.'.'.$ext; return $file; } </code></pre> 以下是随机生成附件名字 d697670469d891b.png 如果位数够的话,就不用看其它的。 <pre class="line-numbers language-php"><code class="language-php">// WordPress上传图片或文件自动重命名的方法 // https://themebetter.com/wordpress-upload-auto-filename.html add_filter('sanitize_file_name', 'tbwp_new_filename', 10); function tbwp_new_filename($filename) { $info = pathinfo($filename); $ext = empty($info['extension']) ? '' : '.' . $info['extension']; $name = basename($filename, $ext); return substr(md5($name), 0, 15) . $ext; } </code></pre> <h2 id="65873">文件名md5转码为32位字符串</h2> <pre class="line-numbers language-php"> add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' ); function custom_upload_filter( $file ){ $info = pathinfo($file['name']); $ext = '.' . $info['extension']; $md5 = md5($file['name']); $file['name'] = $md5.$ext; return $file; } </pre> 以上附件重命名只能用一种,不能重复。 <h2>后台媒体库路径修改</h2> 以前的版本是有后台设置功能的,恢复后台功能代码如下,本人没测试过,你可以试试,放到functions.php <pre class="line-numbers language-php"><code class="language-php">//找回上传设置 if(get_option('upload_path')=='wp-content/uploads' || get_option('upload_path')==null) { update_option('upload_path',WP_CONTENT_DIR.'/uploads'); } </code></pre> 最后修改:2025 年 03 月 04 日 © 允许规范转载 打赏 赞赏作者 赞 如果觉得我的文章对你有用,请随意赞赏