如何将可湿性粉剂用于PDF文件/媒体?

时间:2017-04-04 作者:fwho

我有数百个PDF链接到整个网站,这些PDF都有唯一的文档编号和修订。e、 g.902367第一版

我想做的是为每个文档定义一个slug,比如mysite。com/902367/将直接链接到该文档。重定向是实现这一点的一种方法,但即使使用REGEX,这也会很草率,不太理想。

我发现另一个问题解释说,如果你的主题有一个附件文件,那么上传到该页面的任何附件都属于同一类别。然而,这并不真正适用于我的情况,因为我并没有试图将PDF分配给一个类别或一个页面,而是本质上将它们本身变成一个页面。为文档创建一个伪页面是实现这一点的最干净的方法吗?

将WordPress slug功能应用到我的PDF中最有说服力的方法是什么?

1 个回复
SO网友:Laxmana

在我看来,最好添加表单的端点mysite.com/pdf/<id> 或者类似你的东西。这样,您就可以避免将附件附加到帖子/页面,或者为每个pdf文件创建一个页面,这对于满足您的需要来说是多余的。

这是一个非常小的基本指南。您可以根据需要进行修改。

首先,我们add an endpoint 匹配表单的所有请求mysite.com/pdf/<id>. 请注意,您应该flush the rewrite rules 使新端点正常工作。您可以通过进入设置->永久链接->保存更改或使用flush_rewrite_rules. 应在shutdown 挂钩,或插件/主题(取消)激活。在上执行init 钩拳是一种坏习惯。

function my_endpoints() {

    add_rewrite_endpoint( \'pdf\', EP_ROOT);

}

add_action( \'init\', \'my_endpoints\' );
然后我们使用template_redirect 来处理请求。

function my_template_redirect() {

    global $wp_query;

    /* If it is a /pdf/<id> request then serve the file */        

    if(isset( $wp_query->query_vars[\'pdf\'])){

        // You can use sanitize_file_name also
        $pdf_id = intval($wp_query->query_vars[\'pdf\']); 

        /* Find the file and serve it */

    }

    return;
}

add_action( \'template_redirect\', \'my_template_redirect\' );

相关推荐

如何将Java脚本添加到Custom-Page.php模板?

如何将javascript添加到自定义页面。php模板?如何使从w3schools ajax教程获得的以下javascript在自定义页面上工作。php模板?任何帮助都将不胜感激。工作javascript包含在以下HTML中:<!DOCTYPE html> <html> <style> table,th,td { border : 1px solid black; border-collapse: collapse;&#x