通知设置 新通知
iq block country 插件屏蔽中国 IP 防止 wordpress 外贸网站被抄袭
Leo 发表了文章 • 0 个评论 • 1301 次浏览 • 2019-10-15 09:44
一、安装 iQ Block Country 插件。直接插件搜索即可
二、下载 GeoIP 压缩包,解压后将文件传送到/wp-content/uploads/下面
其实就是一个全世界的 IP 分布数据库,有了它插件就可以自动识别来访用户是否是中国 IP 并加以屏蔽了。
三、屏蔽中国 IP(当然也可以屏蔽其他指定ip,还可以将自己的ip加入白名单)
以上三个步骤做好,就可以进行测试了,举例:你屏蔽了中国ip,又没有将自己ip加入白名单,你看到的页面将是网页被拒绝访问。 查看全部
一、安装 iQ Block Country 插件。直接插件搜索即可
二、下载 GeoIP 压缩包,解压后将文件传送到/wp-content/uploads/下面
其实就是一个全世界的 IP 分布数据库,有了它插件就可以自动识别来访用户是否是中国 IP 并加以屏蔽了。
三、屏蔽中国 IP(当然也可以屏蔽其他指定ip,还可以将自己的ip加入白名单)
以上三个步骤做好,就可以进行测试了,举例:你屏蔽了中国ip,又没有将自己ip加入白名单,你看到的页面将是网页被拒绝访问。
将WordPress网站使用的谷歌字体下载到自己的服务器
Leo 发表了文章 • 1 个评论 • 1093 次浏览 • 2019-09-24 15:16
主要特性:
自动自主托管的字体不费吹灰之力。
兼容所有主题和插件。
支持IE9 +和所有现代浏览器。
针对性能进行基准测试的优化代码。
内置缓存进行处理。
兼容缓存插件和自动优化。
主题和插件作者的API和钩子。
在使用多个子集时,使用unicode范围优化字体。
谷歌也正式这样做,但其他用于下载字体的解决方案不支持这一点。
注意:如果你使用了缓存插件,请务必记得清空缓存,才能看到效果。
在后台插件安装界面搜索 Self-Hosted Google Fonts 即可在线安装,或者到这里下载:https://wordpress.org/plugins/ ... onts/ 查看全部
主要特性:
自动自主托管的字体不费吹灰之力。
兼容所有主题和插件。
支持IE9 +和所有现代浏览器。
针对性能进行基准测试的优化代码。
内置缓存进行处理。
兼容缓存插件和自动优化。
主题和插件作者的API和钩子。
在使用多个子集时,使用unicode范围优化字体。
谷歌也正式这样做,但其他用于下载字体的解决方案不支持这一点。
注意:如果你使用了缓存插件,请务必记得清空缓存,才能看到效果。
在后台插件安装界面搜索 Self-Hosted Google Fonts 即可在线安装,或者到这里下载:https://wordpress.org/plugins/ ... onts/
详情页-产品放大镜效果
Leo 发表了文章 • 1 个评论 • 1017 次浏览 • 2019-09-03 11:48
如何对接wordpress:
<script src="jquery.min.js"></script>
<!-- Include Cloud Zoom CSS. -->
<link rel="stylesheet" type="text/css" href="cloudzoom.css" />
<!-- Include Cloud Zoom script. -->
<script type="text/javascript" src="cloudzoom.js"></script>
<!-- Call quick start function. -->
<script type="text/javascript">
CloudZoom.quickStart();
</script>
<div class="demo">
<?php $i=0;if( have_rows('gallery') ): ?>
<?php while( have_rows('gallery') ): the_row();
$image = get_sub_field('add_image');
$image_url = $image[url];
?>
<?php if($i=='0'): ?>
<img class="cloudzoom" src="<?php bloginfo('template_url')?>/timthumb.php?src=<?php echo $image_url ?>&w=400;&h=400;&zc=1" class="img-responsive" data-cloudzoom="zoomImage: '<?php echo $image_url ?>'">
<?php endif;?>
<?php $i++;endwhile;endif;?>
<ul>
<?php if( have_rows('gallery') ): ?>
<?php while( have_rows('gallery') ): the_row();
$image = get_sub_field('add_image');
$image_url = $image[url];
?>
<li class="cloudzoom_li">
<img class = "cloudzoom-gallery" src = "<?php bloginfo('template_url')?>/timthumb.php?src=<?php echo $image_url?>&w=60;&h=60;&zc=1" data-cloudzoom = "useZoom: '.cloudzoom', image: '<?php bloginfo('template_url')?>/timthumb.php?src=<?php echo $image_url?>&w=400;&h=400;&zc=1', zoomImage: '<?php echo $image_url ?>' "/>
</li>
<?php endwhile;endif;?>
</ul>
</div>
我是创建了一个repeater类型的字段gallery,他这个比较特殊,要单独调用首图作为大图显示,然后再调用所有的图片作为小图用于图片切换功能
查看全部
如何对接wordpress:
<script src="jquery.min.js"></script>
<!-- Include Cloud Zoom CSS. -->
<link rel="stylesheet" type="text/css" href="cloudzoom.css" />
<!-- Include Cloud Zoom script. -->
<script type="text/javascript" src="cloudzoom.js"></script>
<!-- Call quick start function. -->
<script type="text/javascript">
CloudZoom.quickStart();
</script>
<div class="demo">
<?php $i=0;if( have_rows('gallery') ): ?>
<?php while( have_rows('gallery') ): the_row();
$image = get_sub_field('add_image');
$image_url = $image[url];
?>
<?php if($i=='0'): ?>
<img class="cloudzoom" src="<?php bloginfo('template_url')?>/timthumb.php?src=<?php echo $image_url ?>&w=400;&h=400;&zc=1" class="img-responsive" data-cloudzoom="zoomImage: '<?php echo $image_url ?>'">
<?php endif;?>
<?php $i++;endwhile;endif;?>
<ul>
<?php if( have_rows('gallery') ): ?>
<?php while( have_rows('gallery') ): the_row();
$image = get_sub_field('add_image');
$image_url = $image[url];
?>
<li class="cloudzoom_li">
<img class = "cloudzoom-gallery" src = "<?php bloginfo('template_url')?>/timthumb.php?src=<?php echo $image_url?>&w=60;&h=60;&zc=1" data-cloudzoom = "useZoom: '.cloudzoom', image: '<?php bloginfo('template_url')?>/timthumb.php?src=<?php echo $image_url?>&w=400;&h=400;&zc=1', zoomImage: '<?php echo $image_url ?>' "/>
</li>
<?php endwhile;endif;?>
</ul>
</div>
我是创建了一个repeater类型的字段gallery,他这个比较特殊,要单独调用首图作为大图显示,然后再调用所有的图片作为小图用于图片切换功能
WordPress后台汉化
Owen 发表了文章 • 1 个评论 • 1003 次浏览 • 2019-09-02 11:24
安装插件以后在Admin Language(后台语言)中选择下语言即可.
查看全部
如何检查主题和插件对于php版本的兼容性
Leo 发表了文章 • 0 个评论 • 1034 次浏览 • 2019-08-22 09:02
godaddy的ssl证书安装方法
Leo 发表了文章 • 1 个评论 • 1032 次浏览 • 2019-08-06 11:41
然后将csr复制到godaddy颁发ssl证书的地方,
等GD那边颁发成功之后,下载apache版的证书,
解压缩之后只需将第一个CRT文件上传到cpanel对应的地方即可
WordPress 根据不同国家的IP判断并显示不同的内容
Bob 发表了文章 • 2 个评论 • 1202 次浏览 • 2019-07-24 10:25
WordPress 根据不同国家的IP判断并显示不同的内容的具体操作方法如下:
在配置之前需要先下载IP数据库GeoIP.dat和geoip.inc两个文件,具体下载地址可以在网上找一下。
1、首先需要先配置IP的数据库文件
将GeoIP.dat解压到WordPress的根目录下面,也就是WordPress配置文件的同级目录
2、添加调用接口的代码
先在WordPress主题目录中创建include的文件夹,将下载下来的geoip.inc文件放在该文件夹中,并在该文件夹下面创建geoip.php文件,将一下代码这贴到改文件里面:<?php
include('geoip.inc');
global $countryCode;
$geoData = geoip_open('GeoIP.dat', GEOIP_STANDARD);
$countryCode = geoip_country_code_by_addr($geoData, $_SERVER['REMOTE_ADDR']);
geoip_close($geoData);
?>
3、在header.php文件的头部添加引用文件:<?php include('include/geoip.php'); ?>
4、程序调用
在想要展示不同内容的位置调用一下代码:<?php
global $countryCode;
if($countryCode == 'US') {
echo 'US';//显示内容代码
} else {
echo 'Other countries';//显示内容代码
}
?>
以上文件配置好以后,打开网站就可以看到不同的内容。 查看全部
WordPress 根据不同国家的IP判断并显示不同的内容的具体操作方法如下:
在配置之前需要先下载IP数据库GeoIP.dat和geoip.inc两个文件,具体下载地址可以在网上找一下。
1、首先需要先配置IP的数据库文件
将GeoIP.dat解压到WordPress的根目录下面,也就是WordPress配置文件的同级目录
2、添加调用接口的代码
先在WordPress主题目录中创建include的文件夹,将下载下来的geoip.inc文件放在该文件夹中,并在该文件夹下面创建geoip.php文件,将一下代码这贴到改文件里面:
<?php
include('geoip.inc');
global $countryCode;
$geoData = geoip_open('GeoIP.dat', GEOIP_STANDARD);
$countryCode = geoip_country_code_by_addr($geoData, $_SERVER['REMOTE_ADDR']);
geoip_close($geoData);
?>
3、在header.php文件的头部添加引用文件:
<?php include('include/geoip.php'); ?>
4、程序调用
在想要展示不同内容的位置调用一下代码:
<?php
global $countryCode;
if($countryCode == 'US') {
echo 'US';//显示内容代码
} else {
echo 'Other countries';//显示内容代码
}
?>
以上文件配置好以后,打开网站就可以看到不同的内容。
如何将wpengine服务器上的站点迁移到另一台服务器
Leo 发表了文章 • 1 个评论 • 1185 次浏览 • 2019-07-05 13:41
备份完成后,您可以从列表中选择备份,然后单击“Download Zip”。
收到包含zip文件的电子邮件后,请打开该文件并删除以下内容:
wp-content/mu-plugins/mu-plugin.php
wp-content/mu-plugins/wpengine-common/
wp-content/mu-plugins/slt-force-strong-passwords.php
wp-content/mu-plugins/force-strong-passwords/
wp-content/mu-plugins/stop-long-comments.php
wp-content/advanced-cache.php
wp-content/object-cache.php
然后,您可以将网站的其余部分上传到新环境,解压文件压缩包,在wp-content目录中有数据库文件,将其导入新服务器的数据库即可。
加粗部分的文件必须删除,如果不删除,后台还有不少wpengine的残留文件,例如wpengine在wordpress后台的控制面板等等。
wpengine官方介绍:
https://wpengine.com/support/b ... ment/ 查看全部
备份完成后,您可以从列表中选择备份,然后单击“Download Zip”。
收到包含zip文件的电子邮件后,请打开该文件并删除以下内容:
wp-content/mu-plugins/mu-plugin.php
wp-content/mu-plugins/wpengine-common/
wp-content/mu-plugins/slt-force-strong-passwords.php
wp-content/mu-plugins/force-strong-passwords/
wp-content/mu-plugins/stop-long-comments.php
wp-content/advanced-cache.php
wp-content/object-cache.php
然后,您可以将网站的其余部分上传到新环境,解压文件压缩包,在wp-content目录中有数据库文件,将其导入新服务器的数据库即可。
加粗部分的文件必须删除,如果不删除,后台还有不少wpengine的残留文件,例如wpengine在wordpress后台的控制面板等等。
wpengine官方介绍:
https://wpengine.com/support/b ... ment/
内链插件使用教程
carol 发表了文章 • 1 个评论 • 1284 次浏览 • 2019-05-02 13:53
使用方法:
1. 安装下载插件
2.激活后在控制面板中会出现Content Links的设置按钮。点击并在setting中根据需求设置。
3. 点击get words&phrases,该插件会自动识别出一批关键词。注意,这部分的关键词需要我们手动进行添加删除。
4. 点击start links creation
随后插件会根据网站相关的关键词进行链接,这个插件适合文章多,但之前内链一直没有进行优化的网站。总的来说能够自己手动根据网站文案进行链接肯定是最好的。这个插件另一个好处就是会自动识别整个站的文章。缺点是page中的页面无法插入链接,只能在post中进行内链添加,不过这样也有利于深层次页面的读取。
查看全部
使用方法:
1. 安装下载插件
2.激活后在控制面板中会出现Content Links的设置按钮。点击并在setting中根据需求设置。
3. 点击get words&phrases,该插件会自动识别出一批关键词。注意,这部分的关键词需要我们手动进行添加删除。
4. 点击start links creation
随后插件会根据网站相关的关键词进行链接,这个插件适合文章多,但之前内链一直没有进行优化的网站。总的来说能够自己手动根据网站文案进行链接肯定是最好的。这个插件另一个好处就是会自动识别整个站的文章。缺点是page中的页面无法插入链接,只能在post中进行内链添加,不过这样也有利于深层次页面的读取。
为WordPress分类添加模板选项
Bob 发表了文章 • 1 个评论 • 1300 次浏览 • 2019-04-23 12:08
还有一种方法就是根据获取id或者slug,在模板文件里做成判断的形式,但是如果以后增加了分类,就要在模板文件里面再次添加id或者slug,过程繁琐。
今天介绍一个插件,可以非常快速的实现我们想要的功能,安装 Custom Category Templates 插件。插件启用后,会在category页面显示分类模板的选择选项。而我们只要制作一两个不同的分类模板即可。分类的模板需要添加一下内容: <?php
/*
Template Name: 模板A
*/
?>以上步骤完成以后,我们就会在分类看到模板选择按钮,如下图所示:
当然我们也可以在functions.php文件里面添加一段代码,来实现这个功能,此代码是在该插件里面提取出来的。 // 分类选择模板
class Select_Category_Template{
public function __construct() {
add_filter( 'category_template', array($this,'get_custom_category_template' ));
add_action ( 'edit_category_form_fields', array($this,'category_template_meta_box'));
add_action( 'category_add_form_fields', array( &$this, 'category_template_meta_box') );
add_action( 'created_category', array( &$this, 'save_category_template' ));
add_action ( 'edited_category', array($this,'save_category_template'));
do_action('Custom_Category_Template_constructor',$this);
}
// 添加表单到分类编辑页面
public function category_template_meta_box( $tag ) {
$t_id = $tag->term_id;
$cat_meta = get_option( "category_templates");
$template = isset($cat_meta[$t_id]) ? $cat_meta[$t_id] : false;
?>
<tr class="form-field">
<th scope="row" valign="top"><label for="cat_Image_url"><?php _e('Category Template'); ?></label></th>
<td>
<select name="cat_template" id="cat_template">
<option value='default'><?php _e('Default Template'); ?></option>
<?php page_template_dropdown($template); ?>
</select>
<br />
<span class="description"><?php _e('为此分类选择一个模板'); ?></span>
</td>
</tr>
<?php
do_action('Custom_Category_Template_ADD_FIELDS',$tag);
}
// 保存表单
public function save_category_template( $term_id ) {
if ( isset( $_POST['cat_template'] )) {
$cat_meta = get_option( "category_templates");
$cat_meta[$term_id] = $_POST['cat_template'];
update_option( "category_templates", $cat_meta );
do_action('Custom_Category_Template_SAVE_FIELDS',$term_id);
}
}
// 处理选择的分类模板
function get_custom_category_template( $category_template ) {
$cat_ID = absint( get_query_var('cat') );
$cat_meta = get_option('category_templates');
if (isset($cat_meta[$cat_ID]) && $cat_meta[$cat_ID] != 'default' ){
$temp = locate_template($cat_meta[$cat_ID]);
if (!empty($temp))
return apply_filters("Custom_Category_Template_found",$temp);
}
return $category_template;
}
}
$cat_template = new Select_Category_Template(); 查看全部
如上图所示,我们现在使用WordPress做的网站,网站分类的模板默认都是统一的,不像后台添加页面的时候可以随意选择模板。即使我们想要添加不同的模板也只能是根据不同的分类ID或者分类slug来命名这些模板,比如:category-id.php或者category-slug.php。这样添加的话,每个分类都要添加一个模板,工作量巨大。
还有一种方法就是根据获取id或者slug,在模板文件里做成判断的形式,但是如果以后增加了分类,就要在模板文件里面再次添加id或者slug,过程繁琐。
今天介绍一个插件,可以非常快速的实现我们想要的功能,安装 Custom Category Templates 插件。插件启用后,会在category页面显示分类模板的选择选项。而我们只要制作一两个不同的分类模板即可。分类的模板需要添加一下内容:
<?php以上步骤完成以后,我们就会在分类看到模板选择按钮,如下图所示:
/*
Template Name: 模板A
*/
?>
当然我们也可以在functions.php文件里面添加一段代码,来实现这个功能,此代码是在该插件里面提取出来的。
// 分类选择模板
class Select_Category_Template{
public function __construct() {
add_filter( 'category_template', array($this,'get_custom_category_template' ));
add_action ( 'edit_category_form_fields', array($this,'category_template_meta_box'));
add_action( 'category_add_form_fields', array( &$this, 'category_template_meta_box') );
add_action( 'created_category', array( &$this, 'save_category_template' ));
add_action ( 'edited_category', array($this,'save_category_template'));
do_action('Custom_Category_Template_constructor',$this);
}
// 添加表单到分类编辑页面
public function category_template_meta_box( $tag ) {
$t_id = $tag->term_id;
$cat_meta = get_option( "category_templates");
$template = isset($cat_meta[$t_id]) ? $cat_meta[$t_id] : false;
?>
<tr class="form-field">
<th scope="row" valign="top"><label for="cat_Image_url"><?php _e('Category Template'); ?></label></th>
<td>
<select name="cat_template" id="cat_template">
<option value='default'><?php _e('Default Template'); ?></option>
<?php page_template_dropdown($template); ?>
</select>
<br />
<span class="description"><?php _e('为此分类选择一个模板'); ?></span>
</td>
</tr>
<?php
do_action('Custom_Category_Template_ADD_FIELDS',$tag);
}
// 保存表单
public function save_category_template( $term_id ) {
if ( isset( $_POST['cat_template'] )) {
$cat_meta = get_option( "category_templates");
$cat_meta[$term_id] = $_POST['cat_template'];
update_option( "category_templates", $cat_meta );
do_action('Custom_Category_Template_SAVE_FIELDS',$term_id);
}
}
// 处理选择的分类模板
function get_custom_category_template( $category_template ) {
$cat_ID = absint( get_query_var('cat') );
$cat_meta = get_option('category_templates');
if (isset($cat_meta[$cat_ID]) && $cat_meta[$cat_ID] != 'default' ){
$temp = locate_template($cat_meta[$cat_ID]);
if (!empty($temp))
return apply_filters("Custom_Category_Template_found",$temp);
}
return $category_template;
}
}
$cat_template = new Select_Category_Template();