1. 放肆雷特 - 锋哥的博客首页
  2. 程序生涯
  3. WordPress

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

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

邮件:service@fangsi.net

工作时间:周一至周五,9:30-18:30,节假日休息