通知设置 新通知
社交网站分享插件推荐
Leo 发表了文章 • 1 个评论 • 417 次浏览 • 2020-09-04 15:41
替代原先常用的addthis插件,此款插件不会影响网站加载速度
替代原先常用的addthis插件,此款插件不会影响网站加载速度
解决国内服务器wordpress无法更新最新版本和插件问题
Leo 发表了文章 • 1 个评论 • 561 次浏览 • 2020-07-30 13:17
但这种方式对于大部分站长来说,流程繁琐。因此,闪电博为了帮助各站长解决此问题,特地开发了Kill 429这款插件,安装并激活该插件后,中国境内服务器上的Wordpress可以直接升级版本及更新主题、插件。
插件概述
Kill 429是一款解决中国境内服务器WordPress版本更新,主题及插件更新报429错误的插件,插件通过优化中国境内服务器访问WordPress数据服务器的网络,解决429报错问题,快速安装WordPress版本更新及其他主题、插件更新。
Kill 429插件提供”传统代理“和”Nginx反向代理+CDN“两种模式,连接WordPress官方服务器,以解决国内服务器直连WordPress服务器时,提示429 Too Many Requests而无法正常更新WordPress及WordPress官方市场主题、插件。其中:
传统代理模式-该模式提供为站长自主配置,需要站长自行填入代理服务器IP、端口。此种模式需要站长拥有一个稳定的代理服务器IP地址;
CDN+Nginx反向代理模式-提供日本、美国及香港三个服务器节点,通过CDN缓存+Nginx反向代理组合,解决国内服务器无法请求WordPress服务器的问题。
Kill 429工作原理:
Step 1-国内服务器发起WordPress更新请求(包括WordPreen版本更新、官方市场主题及插件安装或者更新);
Step 2-CDN服务器判断请求数据版本,若有云存储存在缓存版本直接更新安装;若无,则连接Nginx反向代理服务器请求WordPress官方服务器版本缓存至CDN云服务器再更新安装。
插件安装
FTP安装
1. 解压插件压缩包kill-429.zip,将解压获得文件夹上传至wordpress安装目录下的 `/wp-content/plugins/`目录.
2. 访问WordPress仪表盘,进入“插件”-“已安装插件”,在插件列表中找到“Kiil 429”,点击“启用”.
3. 通过“设置”->“Kill 429设置” 进入插件设置界面即可.
仪表盘安装
1. 进入WordPress仪表盘,点击“插件-安装插件”:
* 关键词搜索“Kill 429”,找搜索结果中找到“Kill 429”插件,点击“现在安装”;
* 或者点击“上传插件”-选择“Kill 429”插件压缩包kill-429.zip,点击“现在安装”。
2. 安装完毕后,启用“Kill 429”插件.
3. 通过“设置”->“杀死429报错” 进入插件设置界面.
查看全部
但这种方式对于大部分站长来说,流程繁琐。因此,闪电博为了帮助各站长解决此问题,特地开发了Kill 429这款插件,安装并激活该插件后,中国境内服务器上的Wordpress可以直接升级版本及更新主题、插件。
插件概述
Kill 429是一款解决中国境内服务器WordPress版本更新,主题及插件更新报429错误的插件,插件通过优化中国境内服务器访问WordPress数据服务器的网络,解决429报错问题,快速安装WordPress版本更新及其他主题、插件更新。
Kill 429插件提供”传统代理“和”Nginx反向代理+CDN“两种模式,连接WordPress官方服务器,以解决国内服务器直连WordPress服务器时,提示429 Too Many Requests而无法正常更新WordPress及WordPress官方市场主题、插件。其中:
传统代理模式-该模式提供为站长自主配置,需要站长自行填入代理服务器IP、端口。此种模式需要站长拥有一个稳定的代理服务器IP地址;
CDN+Nginx反向代理模式-提供日本、美国及香港三个服务器节点,通过CDN缓存+Nginx反向代理组合,解决国内服务器无法请求WordPress服务器的问题。
Kill 429工作原理:
Step 1-国内服务器发起WordPress更新请求(包括WordPreen版本更新、官方市场主题及插件安装或者更新);
Step 2-CDN服务器判断请求数据版本,若有云存储存在缓存版本直接更新安装;若无,则连接Nginx反向代理服务器请求WordPress官方服务器版本缓存至CDN云服务器再更新安装。
插件安装
FTP安装
1. 解压插件压缩包kill-429.zip,将解压获得文件夹上传至wordpress安装目录下的 `/wp-content/plugins/`目录.
2. 访问WordPress仪表盘,进入“插件”-“已安装插件”,在插件列表中找到“Kiil 429”,点击“启用”.
3. 通过“设置”->“Kill 429设置” 进入插件设置界面即可.
仪表盘安装
1. 进入WordPress仪表盘,点击“插件-安装插件”:
* 关键词搜索“Kill 429”,找搜索结果中找到“Kill 429”插件,点击“现在安装”;
* 或者点击“上传插件”-选择“Kill 429”插件压缩包kill-429.zip,点击“现在安装”。
2. 安装完毕后,启用“Kill 429”插件.
3. 通过“设置”->“杀死429报错” 进入插件设置界面.
woocommerce 购物车+收藏+对比 功能
Leo 发表了文章 • 1 个评论 • 842 次浏览 • 2020-04-15 10:09
然后将以下代码写入循环当中即可:
<li <?php wc_product_class( '', $product ); ?>>
<?php
do_action( 'woocommerce_before_shop_loop_item' );
do_action( 'woocommerce_before_shop_loop_item_title' );
do_action( 'woocommerce_shop_loop_item_title' );
?>
<div class="three_icon">
<?php
/**
* Hook: woocommerce_after_shop_loop_item.
*
* @hooked woocommerce_template_loop_product_link_close - 5
* @hooked woocommerce_template_loop_add_to_cart - 10
*/
do_action( 'woocommerce_after_shop_loop_item' );
?>
</div>
</li>
亲测,效果可以 查看全部
首先安装TI WooCommerce Wishlist Plugin和YITH WooCommerce Compare这两个插件,简单设置一下
然后将以下代码写入循环当中即可:
<li <?php wc_product_class( '', $product ); ?>>
<?php
do_action( 'woocommerce_before_shop_loop_item' );
do_action( 'woocommerce_before_shop_loop_item_title' );
do_action( 'woocommerce_shop_loop_item_title' );
?>
<div class="three_icon">
<?php
/**
* Hook: woocommerce_after_shop_loop_item.
*
* @hooked woocommerce_template_loop_product_link_close - 5
* @hooked woocommerce_template_loop_add_to_cart - 10
*/
do_action( 'woocommerce_after_shop_loop_item' );
?>
</div>
</li>
亲测,效果可以
woocommerce产品详情页 zoom放大效果以及轮播图
Leo 发表了文章 • 1 个评论 • 831 次浏览 • 2020-04-14 08:46
function yourtheme_setup() {
add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-lightbox' );
add_theme_support( 'wc-product-gallery-slider' );
}
// Update WooCommerce Flexslider options
add_filter( 'woocommerce_single_product_carousel_options', 'ud_update_woo_flexslider_options' );
function ud_update_woo_flexslider_options( $options ) {
$options['directionNav'] = true;
return $options;
} 查看全部
function yourtheme_setup() {
add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-lightbox' );
add_theme_support( 'wc-product-gallery-slider' );
}
// Update WooCommerce Flexslider options
add_filter( 'woocommerce_single_product_carousel_options', 'ud_update_woo_flexslider_options' );
function ud_update_woo_flexslider_options( $options ) {
$options['directionNav'] = true;
return $options;
}
添加WhatsApp链接教程
Leo 发表了文章 • 1 个评论 • 980 次浏览 • 2020-03-03 17:31
添加WhatsApp图标
挑选一个自己满意的图标上传到自己网站服务器
创建WhatsApp链接
WhatsApp提供“Click to Chat”点击聊天功能,允许您在网页中创建一个链接,当用户点击时即可响应打开WhatsApp聊天窗口。
WhatsApp提供PC电脑端和手机移动端两种不同的链接地址:
PC电脑端:<a href="https://api.whatsapp.com/send% ... gt%3B
手机移动端:<a href="whatsapp://send?phone=+86123456789&text=Hello">WhatsApp</a>
里面都包含两个参数 phone 和 text ;phone=后面为你的电话号码,text=后面为发送的文本信息;
你可以通过程序判断PC端和手机端来分别显示各自的代码。
注意事项
WhatsApp对于电话号码格式
要创建链接:phone=后面的电话号码格式有一定的要求,如果添加错误,可能链接就无法生效。
使用phone=后面必须是带有国家代码的完整电话号码;
不要使用电话号码前面的零,不能有空格、破折号、括号等;
正确的格式示例:
一个中国(国家代码是+86或0086)的电话号码是:010-12345678,则链接应该是:https://api.whatsapp.com/send?phone=+861012345678
一个德国(国家代码是 0049)的电话号码是:0151-87654321,则链接应该是:https://api.whatsapp.com/send?phone=+4915187654321
错误的格式示例:
错误格式: https://api.whatsapp.com/send?phone=+86(0)1012345678
错误格式: https://api.whatsapp.com/send% ... -5678
错误格式: https://api.whatsapp.com/send% ... 45678
WhatsApp的链接可与手机端的WhatsApp应用程序,PC端的WhatsApp程序配合使用,当用户点击你网站上的WhatsApp链接时,手机端会响应打开你手机里的WhatsApp应用程序,PC端则会响应打开你电脑里的WhatsApp软件程序进行聊天。 查看全部
添加WhatsApp图标
挑选一个自己满意的图标上传到自己网站服务器
创建WhatsApp链接
WhatsApp提供“Click to Chat”点击聊天功能,允许您在网页中创建一个链接,当用户点击时即可响应打开WhatsApp聊天窗口。
WhatsApp提供PC电脑端和手机移动端两种不同的链接地址:
PC电脑端:<a href="https://api.whatsapp.com/send% ... gt%3B
手机移动端:<a href="whatsapp://send?phone=+86123456789&text=Hello">WhatsApp</a>
里面都包含两个参数 phone 和 text ;phone=后面为你的电话号码,text=后面为发送的文本信息;
你可以通过程序判断PC端和手机端来分别显示各自的代码。
注意事项
WhatsApp对于电话号码格式
要创建链接:phone=后面的电话号码格式有一定的要求,如果添加错误,可能链接就无法生效。
使用phone=后面必须是带有国家代码的完整电话号码;
不要使用电话号码前面的零,不能有空格、破折号、括号等;
正确的格式示例:
一个中国(国家代码是+86或0086)的电话号码是:010-12345678,则链接应该是:https://api.whatsapp.com/send?phone=+861012345678
一个德国(国家代码是 0049)的电话号码是:0151-87654321,则链接应该是:https://api.whatsapp.com/send?phone=+4915187654321
错误的格式示例:
错误格式: https://api.whatsapp.com/send?phone=+86(0)1012345678
错误格式: https://api.whatsapp.com/send% ... -5678
错误格式: https://api.whatsapp.com/send% ... 45678
WhatsApp的链接可与手机端的WhatsApp应用程序,PC端的WhatsApp程序配合使用,当用户点击你网站上的WhatsApp链接时,手机端会响应打开你手机里的WhatsApp应用程序,PC端则会响应打开你电脑里的WhatsApp软件程序进行聊天。
wordpress防火墙插件
Owen 发表了文章 • 1 个评论 • 984 次浏览 • 2020-02-21 14:58
免费版本有:IP阻止和暴力登录保护等高级功能。
高级版本:包括国家阻止、两因素身份验证,并且防火墙是实时更新的。
1.Wordfence Security设置
A.防火墙设置
B.这里可填写阻止访问这个文件url的ip(必须填写相对url),下面还可设置限制登陆,例如设置5次登陆失败以后锁定。还有很多可以设置就不一一列出了,按需设置。
2.CloudFlare设置
CloudFlare这里可以创建防火墙规则,和上面阻止访问这个文件的url一样设置,而且不止可以阻住文件url的访问,还有很多其他选择可以配置,感兴趣的朋友可以继续摸索。
下面是被阻止的日志,以及添加过以后,再访问你添加的url以后就是拒绝访问了。
查看全部
免费版本有:IP阻止和暴力登录保护等高级功能。
高级版本:包括国家阻止、两因素身份验证,并且防火墙是实时更新的。
1.Wordfence Security设置
A.防火墙设置
B.这里可填写阻止访问这个文件url的ip(必须填写相对url),下面还可设置限制登陆,例如设置5次登陆失败以后锁定。还有很多可以设置就不一一列出了,按需设置。
2.CloudFlare设置
CloudFlare这里可以创建防火墙规则,和上面阻止访问这个文件的url一样设置,而且不止可以阻住文件url的访问,还有很多其他选择可以配置,感兴趣的朋友可以继续摸索。
下面是被阻止的日志,以及添加过以后,再访问你添加的url以后就是拒绝访问了。
批量重定向某一后缀url的方法
Leo 发表了文章 • 1 个评论 • 896 次浏览 • 2020-01-16 16:41
将以上放至.htaccess中,即可,可以将https://www.hahaha.com/product/任何后缀 跳转到https://www.hahaha.com/products 查看全部
将以上放至.htaccess中,即可,可以将https://www.hahaha.com/product/任何后缀 跳转到https://www.hahaha.com/products
发现有部分表格自适应有问题,解决方案
Leo 发表了文章 • 1 个评论 • 948 次浏览 • 2019-12-30 10:33
以下两个属性可以使用,给table标签用:
table-layout: fixed;
word-break: break-word;
需要断词,否则表格是小了,内容在表格外面 查看全部
以下两个属性可以使用,给table标签用:
table-layout: fixed;
word-break: break-word;
需要断词,否则表格是小了,内容在表格外面
wordpress简易手风琴折叠菜单
Leo 发表了文章 • 4 个评论 • 984 次浏览 • 2019-12-24 09:39
<ul class="side_menu">
<?php wp_nav_menu( array( 'theme_location' => 'side', 'menu_class' => 'nav-menu','container' => false,'items_wrap' => '%3$s' ) ); ?>
</ul>
jquery部分
function appendIcon(){
var iconp = '<i class="fa fa-plus" aria-hidden="true"></i>';
var iconm = '<i class="fa fa-minus" aria-hidden="true"></i>';
$('.side_menu > li').append(iconp,iconm);
}
appendIcon();
$('.side_menu .menu-item-has-children .fa').click(function(){
$(this).parent().find('.sub-menu').toggle();
});
$('.side_menu .current-menu-item').addClass('active_menu');
$('.side_menu > li').click(function(){
$(this).toggleClass('active_menu');
});
css部分
.side_menu li{
font-family: 'PTSansBold';
margin-bottom: 0 !important;
position: relative;
}
.side_menu li a{
padding: 10px 20px;
display: inline-block;
width: 100%;
border-bottom: 1px solid #666;
background-color: #efefef;
color: #242424;
font-family: 'PTSansBold';
font-size: 12px;
text-transform: capitalize;
}
.side_menu li a:hover{
background-color: rgb(204, 204, 204);
}
.side_menu .current-menu-item > a{
background-color: rgb(204, 204, 204);
}
.side_menu i.fa {
position: absolute;
top: 11px;
right: 11px;
font-size: 14px;
background-color: rgb(68, 67, 73);
color: #fff;
padding: 4px 6px;
transition: all ease 0.3s;
}
.side_menu i.fa:hover{
background-color: #00418a;
cursor: pointer;
}
.side_menu .sub-menu{
display: none;
}
.side_menu .current-menu-item .sub-menu{
display: block;
}
.side_menu .fa-plus{
display: block;
}
.side_menu .fa-minus{
display: none;
}
.active_menu .fa-plus{
display: none;
}
.active_menu .fa-minus{
display: block;
}
.side_menu .sub-menu li a{
padding-left: 40px;
}
查看全部
html部分
<ul class="side_menu">
<?php wp_nav_menu( array( 'theme_location' => 'side', 'menu_class' => 'nav-menu','container' => false,'items_wrap' => '%3$s' ) ); ?>
</ul>
jquery部分
function appendIcon(){
var iconp = '<i class="fa fa-plus" aria-hidden="true"></i>';
var iconm = '<i class="fa fa-minus" aria-hidden="true"></i>';
$('.side_menu > li').append(iconp,iconm);
}
appendIcon();
$('.side_menu .menu-item-has-children .fa').click(function(){
$(this).parent().find('.sub-menu').toggle();
});
$('.side_menu .current-menu-item').addClass('active_menu');
$('.side_menu > li').click(function(){
$(this).toggleClass('active_menu');
});
css部分
.side_menu li{
font-family: 'PTSansBold';
margin-bottom: 0 !important;
position: relative;
}
.side_menu li a{
padding: 10px 20px;
display: inline-block;
width: 100%;
border-bottom: 1px solid #666;
background-color: #efefef;
color: #242424;
font-family: 'PTSansBold';
font-size: 12px;
text-transform: capitalize;
}
.side_menu li a:hover{
background-color: rgb(204, 204, 204);
}
.side_menu .current-menu-item > a{
background-color: rgb(204, 204, 204);
}
.side_menu i.fa {
position: absolute;
top: 11px;
right: 11px;
font-size: 14px;
background-color: rgb(68, 67, 73);
color: #fff;
padding: 4px 6px;
transition: all ease 0.3s;
}
.side_menu i.fa:hover{
background-color: #00418a;
cursor: pointer;
}
.side_menu .sub-menu{
display: none;
}
.side_menu .current-menu-item .sub-menu{
display: block;
}
.side_menu .fa-plus{
display: block;
}
.side_menu .fa-minus{
display: none;
}
.active_menu .fa-plus{
display: none;
}
.active_menu .fa-minus{
display: block;
}
.side_menu .sub-menu li a{
padding-left: 40px;
}
国内gravatar头像缓存
Leo 发表了文章 • 0 个评论 • 940 次浏览 • 2019-12-11 09:16
//v2ex国内gravatar头像缓存
function get_ssl_avatar($avatar){
$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://cdn.v2ex.com/gravatar/$1?s=$2" class="avatar avatar-$2" height="50px" width="50px">',$avatar);
return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');
查看全部
//v2ex国内gravatar头像缓存
function get_ssl_avatar($avatar){
$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://cdn.v2ex.com/gravatar/$1?s=$2" class="avatar avatar-$2" height="50px" width="50px">',$avatar);
return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');