广告
返回顶部
首页 > 资讯 > CMS >wordpress自带的缓存功能使用介绍
  • 595
分享到

wordpress自带的缓存功能使用介绍

wordpress缓存wp_cache 2022-06-12 02:06:30 595人浏览 安东尼
摘要

用静态化当然可以解决这些问题,不过对于流量不大的博客就没必要了。 Wordpress自带有缓存体系,关键的函数你可以在wp-includes/cache.PHP或 Codex里查找到所有的函数。 你可以使用下列函数来实现

用静态化当然可以解决这些问题,不过对于流量不大的博客就没必要了。 Wordpress自带有缓存体系,关键的函数你可以在wp-includes/cache.PHP或 Codex里查找到所有的函数。

你可以使用下列函数来实现添加缓存。


复制代码代码如下:

wp_cache_add($key, $data, $flag = '', $expire = 0)

相反的,要删除缓存数据可以通过下面的方法实现。


复制代码代码如下:

wp_cache_delete($id, $flag = '')

提取缓存数据:


复制代码代码如下:

wp_cache_get($id, $flag = '')

替换缓存数据:


复制代码代码如下:

wp_cache_replace($key, $data, $flag = '', $expire = 0)

 

举个例子,如果想输出最新评论,可以先从缓存里读取需要输出的html,如果没有,请求一次,成功后加入缓存,当然时间可以控制。

我知道有很多最新评论,相关文章免插件输出的方法,原理都一样,可以自行改改,贴个我用的:

config.php里面添加


复制代码代码如下:

define('WP_CACHE', true);

如果你用了其它缓存插件,基本上这个就没效果了。因为这些插件有类似的方法。


复制代码代码如下:

<?php

function DeamworkRecentcomments($args='number=5&status=approve'){</p> <p> $cacheID = md5($args);

//有缓存就直接输出

if($output = wp_cache_get('recentComments_'.$cacheID, 'Winysky')){

echo $output;

return;

}</p> <p> //$rcms = get_comments($args);

global $wpdb;</p> <p> $my_email = "'" . get_bloginfo ('admin_email') . "'";

//自动获取博主邮箱

$rcms = $wpdb->get_results("

SELECT ID, post_title, comment_ID, comment_author, comment_author_email, comment_content

FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts

ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID)

WHERE comment_approved = '1'

AND comment_type = ''

AND post_password = ''

AND comment_author_email != $my_email</p> <p>ORDER BY comment_date_gmt

DESC LIMIT 10</p> <p>");</p> <p> //print_r($rcms);return;

if(empty($rcms)){

_e('没有数据');

return;

}

//历遍数据

$output = '';

foreach( $rcms as $rcm ){

$author = $rcm->comment_author;

//if($author =='admin'){continue;}

$content = DeamworkStriptags( $rcm->comment_content);

$the_title = get_the_title($rcm->comment_post_ID);

$s_excerpt = convert_smilies( DeamworkSubstr( $content, 200 ) );

$contents = '<span class=\'recentcommentslink_author\'>' . $author . '</span> <span class=\'recentcommentslink_on\'>on</span> <span class=\'recentcommentslink_title\'>' . $the_title . '</span><div class=\'recentcommentslink_excerpt\'>' . get_avatar($rcm->comment_author_email, 64). $s_excerpt . '</div>';</p> <p> $output .= '<li><div id="C_' . $rcm->comment_ID . '_d" style="display:none">' . $contents . '</div>' . '<a id="C_' . $rcm->comment_ID . '" class="recentcommentslink" href="' . get_permalink($rcm->comment_post_ID) . '#comment-' . $rcm->comment_ID . '" >' . get_avatar($rcm->comment_author_email, 32) . '</a></li>';</p> <p> }

//输出后加入缓存

wp_cache_add('recentComments_'.$cacheID,$output, 'Deamwork');

echo $output;

}

最后,试试效果吧~

--结束END--

本文标题: wordpress自带的缓存功能使用介绍

本文链接: https://www.lsjlt.com/news/32178.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作