我原本主题中有一个下载页面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 这种形式的了,当然你也可以按要求修改成你需要的形式,然后配合自定义字段即可实现类似下载页面的效果了。
本博客所有文章如无特别注明均为原创
如果觉得对你有帮助,可以通过下方打赏对作者表示鼓励
本文采用知识共享署名-非商业性使用-相同方式共享
如若转载,请注明出处:《WordPress插件中自定义链接(伪静态)的方法》https://www.fangsi.net/1418.html