我原本主题中有一个下载页面down.php但是这个页面需要放到站点根目录,这样才能使用https://www.fangsi.net/down-xxx.php类似的链接进行附件下载展示。正好今天看到有一个相关介绍的代码,写下来留作记录
//设置附件的固定链接 add_filter('attachment_link','fangsi_attachment_link',10,2); function fangsi_attachment_link($link,$post_id){ return home_url('/down-'.$post_id.'.php'); } //设置附件的 rewrite 规则 add_action('generate_rewrite_rules', 'fangsi_generate_rewrite_rules'); function fangsi_generate_rewrite_rules($wp_rewrite){ $wp_rewrite->rules = wxd_remove_rewrite_rules($wp_rewrite->rules); $wp_rewrite->extra_rules_top = wxd_remove_rewrite_rules($wp_rewrite->extra_rules_top); $new_rules = array(); $new_rules['down-([0-9]+).php?$'] = 'index.php?attachment_id=$matches[1]'; $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } //删除附件原来的 rewrite 规则 function fangsi_remove_rewrite_rules($rules){ foreach ($rules as $key => $value) { if( strpos($value, 'attachment') !== false ){ unset($rules[$key]); } } return $rules; }
加上以上代码后附件页面的链接就成了 https://www.fangsi.net/down-xxx.php 这种形式的了,当然你也可以按要求修改成你需要的形式,然后配合自定义字段即可实现类似下载页面的效果了。
原创文章,作者:锋哥,如若转载,请注明出处:https://www.fangsi.net/1418.html