【问题标题】:How to save an html static page using PHP on Wordpress如何在 Wordpress 上使用 PHP 保存 html 静态页面
【发布时间】:2021-01-10 17:58:37
【问题描述】:

我有一个 wordpress 网站。在我的网站中,我有一个显示大量内容的特定页面。此内容基于许多自定义帖子类型。我通过为该页面编写了一个名为露台的特定 php 文件来构建该页面;即page-patio.php。

问题在于,由于逻辑复杂,服务器需要大约 30 秒才能响应,我已经优化了图像和当时加载的所有其他内容;但我发现服务器响应时间太长了。

我可以尝试在服务器级别进行优化,但我发现每次用户想要显示页面时都应该完成所有复杂的逻辑和数据库读取是没有任何意义的。数据每天更改一次,以后可能会更频繁。

我想运行一个执行 php sn-p 的 cron。然后那个 PHP sn-p 将准备页面,即编写 html。因此,当用户点击页面时,我应该只显示该静态 html 页面并使用 javascript 让他浏览内容。

有人找到解决方案了吗?

【问题讨论】:

标签: php html wordpress static


【解决方案1】:

早上好。

是服务器问题,还是 CSS、JS 和 cookie 的数量问题?是共享服务器吗?

也许您将主题更改为使用纯 javascript 的主题,或者一些库 JS 和 CSS 会更好。正确解决问题:如果是服务器,或者库和 cookie 的数量,或者两者兼而有之。但是,如果您无法更改任何内容,您可以为您的应用程序签订更好的服务器服务。

我放弃了使用 wordpress 来优先考虑页面性能。

【讨论】:

    【解决方案2】:

    感谢这篇 10 年前的帖子,我能够很好地解决我的问题:

    Link to Stackoverflow post on saving to html page

    我创建了一个定期运行的 cron 事件,该事件运行 PHP 代码段;我使用代码片段插件来创建事件:

    if ( ! wp_next_scheduled( 'iKid_cron_twicedaily' ) ) {
    wp_schedule_event( time(), 'twicedaily', 'iKid_cron_twicedaily' );
    

    }

    add_action('iKid_cron_twicedaily','iKid_Static');
    

    然后用同样的插件来创建 iKid_Static 函数。

    此函数使用 ob_start()file_put_contents('yourpage.html', ob_get_contents()) 命令在我的服务器上写入 html 页面。

    然后在我的实际页面上编码:

    $content = file_get_contents($cacheFile);
    echo $content;
    

    通过这种方式,我的用户现在只需 2 秒即可获得该页面上的所有信息,而不是大约 30 秒。 当我转移到更好的服务器时,我肯定能够改进这一点,但现在这对我来说是一个很大的改进。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多