• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
123456811 显示全部楼层 发表于 2021-8-15 20:00:02 |阅读模式 打印 上一主题 下一主题
用静态化当然可以解决这些题目,不外对于流量不大的博客就没必要了。 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
/**
* get recent comments
* @param unknown_type $args
* @return unknown_type
*/
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;
}
末了,试试效果吧~

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作