WordPress插件中自定义链接(伪静态)的方法

我原本主题中有一个下载页面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

(5)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年2月27日 20:23
下一篇 2019年3月18日 19:34

相关推荐

发表评论

登录后才能评论