我正在尝试实现瞬态片段,我一直在做这里建议的事情:http://css-tricks.com/wordpress-fragment-caching-revisited/
虽然它适用于页眉、页脚和登录页,但在适用于包含变量的部分时,我遇到了一些问题。
这是我在函数中的代码。php:
function fragment_cache($key, $ttl, $function) {
if ( is_user_logged_in() ) {
call_user_func($function);
return;
}
$key = apply_filters(\'fragment_cache_prefix\', \'fragment_cache_\').$key;
$output = get_transient($key);
if ( empty($output) ) {
ob_start();
call_user_func($function);
$output = ob_get_clean();
set_transient($key, $output, $ttl);
}
echo $output;
}
这里是我的代码的简化版本,只显示在一个页面上(我使用的是高级自定义Fieds转发器,但我认为这与此问题无关):
while ( have_rows(\'images\') ): the_row();
fragment_cache(\'cms_images_text\' . $post->ID, WEEK_IN_SECONDS, function() {
$gallery_image = get_sub_field(\'image\');
$gallery_image_small = $gallery_image[\'sizes\'][\'square-small\'];
echo \'<img src="\' . $gallery_image_small . \'">;
});
endwhile;
我的问题是,在这个while循环中,我返回了四个相同的图像。我怎样才能解决这个问题?