【问题标题】:How to keep a widget output dynamic in a cached page (with W3 total cache)如何在缓存页面中保持小部件输出动态(使用 W3 总缓存)
【发布时间】:2014-11-01 02:56:05
【问题描述】:

我正在尝试使用 Wordpress 中的以下小部件调用输出一组随机帖子。 每次代码执行时都会更新时间,但小部件内容始终相同。

    <!--mfunc echo 'real time = '.date('H i s',time()); -->
    <?php echo 'real time = '.date('H i s',time()); ?>
    <?php
        genesis_widget_area( 'home-right', array(
            'before' => '<div class="home-right widget-area grid-zr-12 grid-md-4">',
            'after' => '</div>'
        ));
    ?>
    <!--/mfunc-->

有没有办法让小部件输出动态化?

【问题讨论】:

    标签: wordpress w3-total-cache


    【解决方案1】:

    对于 W3TC 中的片段缓存,您需要包含为安全目的添加的 W3TC_DYNAMIC_SECURITY 常量,并且您不应在 &lt;!--mfunc--&gt;&lt;!--/mfunc--&gt; 中使用 &lt;?php&gt; 标记。您还需要确保您使用的是Page Caching 类型Disk:BasicLate Initialization(在页面缓存设置上) -

    在页面缓存引擎的片段缓存中启用对 WordPress 功能的支持。使用此功能可能会增加响应时间。

    wp-config.php:

    define( 'W3TC_DYNAMIC_SECURITY', md5( rand( 0, 999999 ) ) ); // random "secret"
    

    在您的模板中:

    <!--mfunc <?php echo W3TC_DYNAMIC_SECURITY; ?> -->
    echo 'real time = '.date( 'H i s', time() );
    genesis_widget_area( 'home-right', array(
        'before' => '<div class="home-right widget-area grid-zr-12 grid-md-4">',
        'after' => '</div>'
    ) );
    <!--/mfunc <?php echo W3TC_DYNAMIC_SECURITY; ?> -->
    

    【讨论】:

    • 启用 minify 后我无法正常工作,一旦禁用我就可以正常工作!
    • 我不知道这是否可行,但这是迄今为止我见过的最完整的答案。所以谢谢你
    • 将 mfunc 添加到 Ignored 注释词干(缩小设置)中,因此您可以在启用缩小的情况下使其工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    相关资源
    最近更新 更多