【问题标题】:Create a WordPress plugin that converts html file to readable text document创建一个将 html 文件转换为可读文本文档的 WordPress 插件
【发布时间】:2021-07-26 14:21:48
【问题描述】:

我是一名前端开发人员,我需要帮助来弄清楚如何为 WordPress 创建一个插件,该插件将上传到 WordPress 媒体部分的 HTML 文件转换为可读的文本文档,以供在线阅读选项。

例如,该网站提供了三种文件格式来下载一本书,其中 HTML 格式也可用。但该网站还需要提供无需下载即可在线阅读该书的选项。一旦用户单击在线阅读选项,它将在一个新选项卡中打开,其用户界面就像 pdf 查看器一样,但不是。它还可以选择导航到不同的章节和段落。

作为参考,我说的是哪种网络应用,这里有一个链接:https://www.bahai.org/library/authoritative-texts/bahaullah/call-divine-beloved/

单击在线阅读部分中的选项后,您将重定向到该特定段落或标题。

我想用 PHP 为 WordPress 网站制作相同的 Web 应用程序。我想知道构建它需要哪些资源。请指导我,以便我可以学习和探索选项。

【问题讨论】:

    标签: javascript php html wordpress plugins


    【解决方案1】:

    这是一个简单的解决方案(自定义)

    1- 添加新端点

    add_action( 'init', 'account_page_endpoint' );
    function account_page_endpoint() {
        add_rewrite_endpoint( 'book', EP_ROOT );
    }
    

    2- 添加查询变量

    add_filter( 'query_vars', 'add_query_vars');
    function add_query_vars( $vars ) {
        $vars[] = 'book';
        return $vars;
    }
    

    3- 在主题根目录中添加自定义页面模板(HtmlToText.php)并使用此模板(仪表板)添加新页面

    4- 将书籍端点重定向到自定义页面模板

    add_action( 'template_redirect', function() {
        if( get_query_var( 'book', false ) !== false ){
            get_template_part('HtmlToText');
            die;
        }
        return;
    } );
    

    5- 使用这个网址:https://msa.biawp.ir/book/bahaullah/chapter1/

    6- 管理自定义页面模板中的url

    $book = explode('/', get_query_var('book'));
    
    $bookName = $book[0];
    $bookFile = $book[1];
    
    readfile('https://msa.biawp.ir/wp-content/uploads/chapter1.html');
    

    【讨论】:

    • 我对你的所作所为有点了解,感谢你的演示。一旦我尝试过,我会告诉你的。你能解释一下爆炸功能吗? $book 的作用。
    • 您必须将 url 的两个部分分开:bahaaullah 是您的书名,chapter1 是您的 html 文件名。爆炸功能将其分开。这个 url 结构就像你的链接示例。 www.bahai.org
    • 正如您所展示的步骤,我已将位于 function.php 文件中第 1、2、4 点的 3 个钩子放入。然后创建 HtmlToText 模板并放置第 6 点的代码。将链接替换为我的媒体 Html 文件。现在的问题是我将从哪里重定向到文本文档?在第 5 点中,链接包含 /book/bahaullah/,这是为了什么?它是自定义帖子类型吗?能不能详细解释一下。
    • 不,书不是帖子类型,不要创建它,只需创建一个帖子作为书的详细信息。以msa.biawp.ir/book/bahaullah/chapter1 格式输入详细信息和一些链接(章节页面)。 bahaullah 是你的书名(你想要的任何名字)。并在此之后添加您的 html 文件名。如果您的文件是 chapter1.html,请输入 chapter1。 continue 是 HtmlToText 文件中的 url 管理。获取 url 并读取文件。任何问题?我是
    猜你喜欢
    • 2018-12-19
    • 2016-11-06
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多