2015.10.31杂记

自从4月月底,竹客令备案被封,服务器出现问题。

到现在有5个多月将近6个月了吧!

在这期间我都一直想重新做回来的,没有做有很多原因,备案就是一个很大的问题。

上一次的备案是我花了300多块备的,由于我现在还没有18岁,所以只能用别人的。

所以也很麻烦,就一直到现在才弄好。

这一次我会让竹客令一直存在,也不会放弃完善它的。

虽然现在我没有什么经验可以分享但是我还是会尽我所能的去更新,去分享一些我知道的东西!

更多精彩日记!

jQuery 建立 AJAX 下拉框表单

最近在开发一个小东西的时候出现这么一个需求,根据 AJAX 请求的数据生成下拉框表单。

这个需求经常会出现,比如全球范围内地址的选择,全球所有国家的省份和城市是一堆不小的数据,而且表单还不一定会被使用。这时可以考虑先加载一个空表单,在用户点击的时候再用 AJAX 把数据加载进来;或者先加载所有国家的列表,然后根据用户选择的国家再加载对应的省份和城市数据。

再比如一些必须使用 AJAX 加载下拉框表单的地方。像 CDK 兑换,需要用户填写 CDK 之后再根据 CDK 适用的范围生成下拉框表单。

实现这个功能是比较简单的,但是我们要说的是如何更加高效的实现这个功能。

HTML 表单

在 AJAX 获取并生成数据之前,首先需要一个空的或者存在内容的 HTML 下拉框表单用来填充数据:

1
2
3
<select id="dropdown">
	<option value="">请选择...</option>
</select>

AJAX 获取数据

接下来我们可以开始使用 AJAX 获取数据了,在使用 jQuery 的情况下,AJAX 获取数据非常简单方便。

获取数据的时机可以是在用户点击表单的时候、用户设置其它表单的内容的时候或者其它时候。

1
2
3
4
5
6
7
8
$.ajax( {
	type: 'GET',
	url: AJAXurl,
	dataType: 'json',
	success: function( data ){
		build_dropdown( data, $( '#dropdown' ), '请选择...' );//填充表单
	}
} );

使用 AJAX 请求 AJAXurl 的地址之后将返回一个 JSON 对象,接下来我们需要解析这些数据,把他填充到下拉框表单里,这里使用了自定义方法build_dropdown()

填充表单

在上边用 ajax() 方法获取到数据之后,使用build_dropdown()方法填充了表单数据,这里我们就来创建这个方法:

1
2
3
4
5
6
7
8
9
//填充表单
var build_dropdown = function( data, element, defaultText ){
	element.empty().append( '<option value="">' + defaultText + '</option>' );
	if( data ){
		$.each( data, function( key, value ){
			element.append( '<option value="' + key + '">' + value + '</option>' );
		} );
	}
}

这个方法用三个参数,分别是表单数据(JSON 对象)、需要被填充数据的表单和默认空选项的文本。

到这里就可以完成一个 AJAX 获取数据并生成下拉框表单的过程了。

数据格式

AJAX 获取的表单数据为 JSON 对象,格式类似于:

1
2
3
4
5
6
7
8
9
{
	'USA'    : '美国', 
	'China'  : '中国', 
	'Japan'  : '日本', 
	'Germany': '德国', 
	'Britain': '英国', 
	'France' : '法国', 
	'Korea'  : '韩国'
}

可以使用 PHP 的json_encode()函数,把 PHP 数据变成我们需要的 JSON 对象数据:

1
2
3
4
5
6
7
8
9
echo json_encode( array(
	'USA'     => '美国',
	'China'   => '中国',
	'Japan'   => '日本',
	'Germany' => '德国',
	'Britain' => '英国',
	'France'  => '法国',
	'Korea'   => '韩国'
) );

转载:http://www.bgbk.org/jquery-ajax-dropdown/

wordpress固定链接规则设置与优化

因为我现在用到是Linux平台搭建的网站所以我现在所说的和win搭建的应该有点区别的。

在发布文章前就要考虑确定并且设定好固定链接的形式,并且永久不变
链接不宜过深,网站的链接过深对于搜索引擎优化是十分不利的,缩短目录层次将有利于提高排名的优先级
最好不要让中文出现在链接中:虽然现在搜索引擎已经能支持识别URL,可是中文在URL上还是显示为乱码,对用户而言更是完全没有可读性。所以中文标题要使用WordPress的“日志别名”,来实现URL英文化。

当您的wordpress安装好并做好基本设置后,重要的一个步骤就是要做好wordpress固定链接设置,只有做好了wordpress固定链接设置后才可以开始更新你的博客,那么,为什么要先做好wordpress固定链接设置呢?因为如果日后再来更改wordpress固定链接设置的话,会影响搜索引擎的收录与排名,并且wordpress固定链接设置与排名优先级有一定的关系,所以wordpress固定链接设置一定要先做好;那么接下来我们通过下面的几个方面来介绍wordpress固定链接设置,以及它和排名优先级的关系。
固定链接是你个人博客里的文章、分类以及其他页面的固定链接地址。通过固定链接,别的博友可以链到你写的博客,你也可以将这个链接地址写在邮件里发给其他人看。如果博客的链接地址变来变去,会造成其他人通过之前的链接地址来浏览博客时出错,所以每篇博客的链接地址都应该固定,而且永久不改———这也是固定链接名字的由来,也称作永久链接。

下面是固定链接规则:

%year%
文章发表的年份,四位数,如 2011
%monthnum%
月份,如 08
%day%
日期,如 18
%hour%
小时,如 12
%minute%
分钟,如 35
%second%
秒,如 38
%postname%
文章标题的别名 (编辑文章/页面时的别名栏)。
%post_id%
文章的唯一ID,如 353
%category%
分类的别名 (新建/编辑分类时的别名栏)。 有层级关系的类型在链接地址里就像有层级的目录。
%tag%
标签的别名(新建/编辑标签时的别名栏)。
%author%
作者的别名。

本站现在用到是:/%category%/%post_id%.html

分类别名加文章唯一ID

wordpress代码为文章图片自动添加alt和title信息

今天刚上线的,所以发现了不少问题,这段可以很方便的为图片添加alt和title,我们能够用代码来完成所需功能的,

就尽量不要使用插件,毕竟wordpress插件安装越多速度越慢嘛!

下面是需要添加到主题里的代码:

//给文章图片自动添加alt和title信息
add_filter('the_content', 'imagesalt');
function imagesalt($content) {
       global $post;
       $pattern ="/<a(.*?)href=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
       $replacement = '<a$1href=$2$3.$4$5 alt="'.$post->post_title.'" title="'.$post->post_title.'"$6>';
       $content = preg_replace($pattern, $replacement, $content);
       return $content;
}

20151029230029 20151029230146 将上面的代码放到 wordpress主题 文件夹下的functions.php文件内,这样文章图片就会自动添加alt和title信息。