体验盒子

应该相信,自己是生活的战胜者。

WordPress的jquery库不起作用?

2011年1月4日 WordPress 3 条评论 | 热度:184 ℃

这个应该不是什么新信息,但我却是现在才搞清楚。

在我制作的多个插件中都是用到了jquery这个便利的javascript库,但让我很郁闷的是,虽然已经调用了jquery,在html代码上也有jquery的链接,但插件中应有的效果却始终不能显示出来。但是改为调用Google AJAX Libraries APIjquery上的jquery.js都能出来效果。所以插件中我只好用Google AJAX Libraries API来代替了。

这实在不是什么好主意,但当时也是没办法,因为我不知道解决办法。

今天又是在wordpress调用jquery,情况还是如此。无意中打开wordpress中jquery.js,然后对比code.jquery.com中的代码,发现wordpress中的jquery.js最后面是多了一行代码的:

1
jQuery.noConflict();

看来是这行代码的问题了,查阅jquery上的文档才知道,上面那行代码的意义是:释放jquery中的$变量。从而避免多个javascript库之间的冲突问题。当jquery中要使用到$变量时,可用jQuery来代替。例如:

1
2
3
  $(document).ready(function(){
    $("p").after("<b>Hello</b>");
  });

用下面的代码代替:

1
2
3
  jQuery(document).ready(function(){
    jQuery("p").after("<b>Hello</b>");
  });

OK,现在使用wordpress内核中的jquery库也能出来效果了。

WordPress自动添加关键词优化的代码

2010年12月12日 WordPress 4 条评论 | 热度:122 ℃

虽然keywords对现在的搜索引擎来说,已经不是很重要了,不过给文章和首页加上一些keywords也是有必要的。另外一个就是 description,google貌似对description还是有一定重视的。Wordpress也有相关的SEO插件,比较出名的是All in on SEO pack,但对中文支持不是太好。

反这段PHP代码添加在header.php模板中,能自动为首页设置好keywords和 description。并且,在文章页面,能自动截断部分文章内容作为描述,也能自动把文章的tag加为keywords,感觉还不错,在此分享一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
//判断是否为首页
if (is_home()) {
	$description = "你的站点描述";
	$keywords = "你的关键词";
//判断是否为文章页
} else if (is_single()) {
	if ($post->post_excerpt) {
		$description = $post->post_excerpt;
	} else {
		$description = mb_strimwidth(strip_tags(
	apply_filters('the_content',$post->post_content)
	),0,220);
	}
	$keywords = "";
	$tags = wp_get_post_tags($post->ID);
	foreach ($tags as $tag ) {
	   $keywords = $keywords . $tag->name . ",";
	}
//判断是否为分类页
} else if (is_category()) {
  $description = category_description();
}
?>
<meta content="<?php echo $keywords; ?>" name="keywords" />
<meta content="<?php echo $description; ?>"name="description" />

将此段代码放入到header.php中的meta部分即可。

wordpress添加Ctrl+Eenter快捷回复方法

2010年9月6日 WordPress 5 条评论 | 热度:115 ℃

两种方法,注意如果改了也不能实现的就是模板不支持了,经我测试发现有些模板确实会不支持,不支持修改方法在最后

方法1:

在 comments.php 里 </form></div><?php endif; ?> 后插入如下 JS 代码也可以给留言板实现这个功能:

<script type="text/javascript">
document.getElementById("comment").onkeydown = function (moz_ev)
{
var ev = null;
if (window.event){
ev = window.event;
}else{
ev = moz_ev;
}
if (ev != null && ev.ctrlKey && ev.keyCode == 13)
{
document.getElementById("submit").click();
}
}
</script>

然后继续在 comments.php 文件中找到下面这句:

<input name="submit" type="submit" id="submit" tabindex="5" value="Submit" />

将 value="Submit"(不同的主题可能会有些差别,其实就是提交的那个按扭)的 value 值里加上一个(Ctrl+Enter),改成 value="Submit(Ctrl+Enter)"

方法2:

在 comments.php 中找到以下代码:

<textarea name="comment" id="comment" cols="105" rows="10" tabindex="4"></textarea>

修改为:

<textarea name="comment" id="comment" cols="105" rows="10" tabindex="4" onkeydown="if(event.ctrlKey&&event.keyCode==13){document.getElementById('submit').click();return false};"></textarea>

这行代码和方法一效果一样,但是却精简一些,强烈推荐,这个其实就是在textarea后加上

onkeydown="if(event.ctrlKey&&event.keyCode==13){document.getElementById('submit').click();return false};"

更新:修改后仍不支持解决方法:

很多模板制作者在代码结构书写上不是很规范,导致制作出来的模板存在一定的不足,比如这个简单的JS提交,大家一看都知道就是用ID+键盘传值的。
通用的检测方法: 查找input内是否存在id="submit",如果使用了button做修饰的话同时也要注意button内存在id="submit",同时前后对应,id="这里和上边的JS中的"getElementById('submit')"要对应写,不一定是submit但要一致。

WordPress 3.0.1官方中文版发布啦

2010年8月14日 WordPress 7 条评论 | 热度:72 ℃

wordpress关闭缩略图

2010年7月27日 WordPress 没有评论 | 热度:80 ℃

Briefly unavailable for scheduled maintenance. Check back in a minute

2010年7月24日 WordPress 1 条评论 | 热度:131 ℃

修改WordPress默认管理员帐户名

2010年7月15日 WordPress 1 条评论 | 热度:49 ℃

删除wordpress自动保存的日志

2010年7月10日 WordPress 没有评论 | 热度:122 ℃

WordPress上传附件,文件类型不符合安全规则

2010年6月22日 WordPress 3 条评论 | 热度:137 ℃

WordPress显示乱码解决方法

2010年6月20日 WordPress 没有评论 | 热度:76 ℃

WordPress中Pre标签自动换行兼容IE/Opera/Firefox/Chrome

2010年6月19日 Design, WordPress 4 条评论 | 热度:330 ℃

WordPress 3.0 正式版发布

2010年6月18日 WordPress 没有评论 | 热度:47 ℃

wp_list_categories函数

2010年6月17日 WordPress 没有评论 | 热度:141 ℃
加载中……