Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建一个WordPress插件,将html文件转换为可读的文本文档_Javascript_Php_Html_Wordpress_Plugins - Fatal编程技术网

Javascript 创建一个WordPress插件,将html文件转换为可读的文本文档

Javascript 创建一个WordPress插件,将html文件转换为可读的文本文档,javascript,php,html,wordpress,plugins,Javascript,Php,Html,Wordpress,Plugins,我是一名前端开发人员,我需要帮助了解如何为WordPress创建一个插件,该插件将WordPress媒体部分中上载的HTML文件转换为可读的文本文档,以用于在线阅读选项 例如,该网站提供了三种文件格式来下载一本HTML格式的书。但该网站还需要提供一个选项,无需下载即可在线阅读该书。一旦用户单击“联机阅读”选项,它将在一个新选项卡中打开,该选项卡具有与pdf查看器类似的用户界面,但它不是。它还可以选择浏览不同的章节和段落 作为参考,我说的是什么样的web应用,这里有一个链接: 单击“联机阅读”部分

我是一名前端开发人员,我需要帮助了解如何为WordPress创建一个插件,该插件将WordPress媒体部分中上载的HTML文件转换为可读的文本文档,以用于在线阅读选项

例如,该网站提供了三种文件格式来下载一本HTML格式的书。但该网站还需要提供一个选项,无需下载即可在线阅读该书。一旦用户单击“联机阅读”选项,它将在一个新选项卡中打开,该选项卡具有与pdf查看器类似的用户界面,但它不是。它还可以选择浏览不同的章节和段落

作为参考,我说的是什么样的web应用,这里有一个链接:

单击“联机阅读”部分中的选项后,您将重定向到该特定段落或标题

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

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

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-在主题根目录中添加自定义页面模板(htmlotext.php),并使用此模板添加新页面(仪表板)

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

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

$bookName = $book[0];
$bookFile = $book[1];

readfile('https://msa.biawp.ir/wp-content/uploads/chapter1.html');
5-使用此url:

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

add_action( 'template_redirect', function() {
    if( get_query_var( 'book', false ) !== false ){
        get_template_part('HtmlToText');
        die;
    }
    return;
} );
$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个钩子。然后创建HTMLTOXT模板,并将第6点的代码放入其中。用我的媒体Html文件替换链接。现在的问题是,我将从哪里重定向到文本文档?在第5点中,链接包含/book/bahaullah/,这是为了什么?是定制的邮件类型吗?你能详细解释一下吗?不,这本书不是帖子类型,不要创建它,只需创建一个帖子作为书的详细信息。输入详细信息和一些带有格式的链接(章节页面)。bahaullah是你的书名(任何你想要的名字)。并在此之后添加您的html文件名。如果文件为chapter1.html,请输入chapter1。continue是HTML文本文件中的url管理。获取url并读取文件。有问题吗?我是