11

我正在使用极简的 JavaScript 框架 + Timber 开发一个 WordPress 网站。我注意到页面之间有大约 1500 毫秒的延迟。我想使用 W3 Total Cache 或 WP Super Cache 来查看是否可以使用缓存功能,以便更快地加载页面。

它似乎确实更快,但是我有一些渲染问题。因为我使用的是 Timber,所以我有部分模板,一个示例如下所示。

联系人.twig

{% extends "_base.twig" %}

{% block content %}
    {% if not isAJAX %}<section>{% endif %}        
        <div>
            <div>
                <section> 
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus quis doloribus libero et harum, molestiae, nam alias voluptatem sequi rem inventore aliquid reiciendis</p>
                </section>
            </div>
        </div>
    {% if not isAJAX %}</section>{% endif %}
{% endblock %}

当我激活 W3 Total Cache 时,当我重新加载此页面http://example.com/contact时,它只呈现这个特定的 HTML 字符串,没有页眉或页脚,这意味着它不会呈现_base.twig.

在我的contact.php,它看起来像

<?php
/**
 * Template Name: Contact Template
 */

$context = Timber::get_context();

Timber::render('views/contact/contact.twig', $context);

是否有任何 Timber/WordPress 专家知道如何正确使用 W3 Total Cache?

4

2 回答 2

1

我也有这个问题。我将 Fast Velocity Minify 与 W3 一起使用,它解决了我的加载速度问题。以下是一些可能也有效的链接。经过一段时间的调整,我终于在移动和桌面上达到了 90 分。让我知道这个是否奏效。

https://wordpress.org/support/topic/how-to-fix-render-blocking-java-script-in-wordpress/

速度助推器包插件 https://wordpress.org/support/topic/can-i-use-along-with-w3-cache/

于 2017-01-20T22:13:53.593 回答
0

W3 Total Cache将跳过文件的 Twig/Timber 层,并通过插件或设置规定的任何机制提供静态页面。

缓存整个 Twig 文件和数据

渲染时,使用 Timber::render 中的 $expires 参数。例如:

$data['posts'] = Timber::get_posts();
Timber::render('index.twig', $data, 600);

Timber 会将模板缓存 10 分钟 (600 / 60 = 10)。但这是很酷的部分。Timber 对视图上下文中的字段进行哈希处理。这意味着一旦数据发生变化,缓存就会自动失效(耶!)。

完整参数:

Timber::render(
    $filenames,
    $data,
    $expires, /** Default: false. False disables cache altogether. When passed an array, the first value is used for non-logged in visitors, the second for users **/
    $cache_mode /** Any of the cache mode constants defined in TimberLoader **/
);

欲了解更多信息,请单击此处

于 2017-01-23T08:34:49.520 回答