PIX源码设置及bug处理
修改任何源码之前,一定记得备份、备份、备份!!!
附件使用对象存储,文章分享海报加载异常
我使用腾讯cos,并配置了防盗链,文章在分享时,出现跨域情况,如果你也碰到这种问题,可以参考我的方法来修改
研究源码得知,因为图传在转base64的时候,出现跨域情况,那么我直接简单粗暴一点,不转base64了,这个问题就不存在,转base64本意也是减少请求次数,谁没事儿天天分享你的文章啊,所以直接改,没问题
找到/themes/pix/inc
下的pix-poster.php
文件,修改$poster_banner
和logo
这两个位置即可
//获取海报参数
function get_poster_data($post_id){
$post = get_post($post_id);
$title = $post->post_title;
$content = $post->post_content;
$logo = get_op('site_logo');
$qrcode = pix_get_qrcode_base64(get_the_permalink($post_id));
$banner = cst_get_thum( $post_id, 'large','lock');
if(get_post_type($post_id) == 'moment'){
$mo_img = get_image_moment_f($post_id);
$banner = !empty($mo_img) ? $mo_img : $banner;
$title = !empty($title) ? $title : ''.get_bloginfo('name').' - 片刻';
}
// $poster_banner = pix_img2base64($banner);
$poster_banner = $banner;
$res = array(
'title' => $title,
'content' => mb_substr(strip_tags(str_replace("\r\n","",$content)), 0, 90, 'utf-8').'...',
// 'logo' => pix_img2base64($logo),
'logo' => $logo,
'qrcode' => $qrcode,
'banner' => $poster_banner,
'des' => get_admin_des(),
);
return $res;
}
布局选择网格,专题详情页加载样式异常
文章选择网格布局时,专题页详情中,点击loadmore,会发现新加载出来的文章卡片样式错乱
进入 /themes/pix/inc/assets/js/app.js
中
在大概1199行处,找到 content.append(post.fadeIn(300));
,替换为以下内容
post.each((index, post1) => {
$("<div class='uk-width-1-2@l uk-width-1-1@m uk-grid-margin'></div>")
.append($(post1))
.appendTo(content)
.fadeIn(300);
});
// content.append(post.fadeIn(300));
文章图片添加灯箱效果
路径如下:【外观】-【主题编辑器】-【pix-post.php】
,替换原有
add_filter('the_content', 'fancybox');
function fancybox($content){
global $post;
$pattern = array("/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf|webp)('|\")(.*?)>/i","/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf|webp)('|\")(.*?)>(.*?)<\/a>/i");
$replacement = array('<a$1href=$2$3.$4$5 data-fancybox="gallery"><img$1src=$2$3.$4$5$6></a>','<a$1href=$2$3.$4$5 class="fancybox" data-fancybox="image-'.$post->ID.'"$6>$7</a>');
$content = preg_replace($pattern, $replacement, $content);
return $content;
}
安装缓存工具加快查询
未使用加速手段,会发现查询比较慢,特别是即刻,加上一下两个缓存,可以得到显著提升
- 安装PHP的Redis扩展
- 宝塔安装Redis程序
- wordpress安装Redis缓存插件并开启
- 宝塔安装Opcache扩展,重启php服务
两个wordpress使用一个redis如何处理
找到 /wp-content/plugins/redis-cache/includes
,打开 object-cache.php
修改 database
后面的值,比如第一个网站用的0,第二站就改成1就可以了
空空如也!