满心记 我在人间混日子

PIX源码设置及bug处理

修改任何源码之前,一定记得备份、备份、备份!!!

附件使用对象存储,文章分享海报加载异常

我使用腾讯cos,并配置了防盗链,文章在分享时,出现跨域情况,如果你也碰到这种问题,可以参考我的方法来修改

研究源码得知,因为图传在转base64的时候,出现跨域情况,那么我直接简单粗暴一点,不转base64了,这个问题就不存在,转base64本意也是减少请求次数,谁没事儿天天分享你的文章啊,所以直接改,没问题

找到/themes/pix/inc下的pix-poster.php文件,修改$poster_bannerlogo这两个位置即可

//获取海报参数
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;
}

安装缓存工具加快查询

未使用加速手段,会发现查询比较慢,特别是即刻,加上一下两个缓存,可以得到显著提升
  1. 安装PHP的Redis扩展
  2. 宝塔安装Redis程序
  3. wordpress安装Redis缓存插件并开启
  4. 宝塔安装Opcache扩展,重启php服务

两个wordpress使用一个redis如何处理

找到 /wp-content/plugins/redis-cache/includes,打开 object-cache.php
修改 database 后面的值,比如第一个网站用的0,第二站就改成1就可以了

参考文章

发表评论

提交评论