wordpress居然分类不带排序功能,搜索了下解决办法,大部分都是需要插件,麻烦.我看,还是自己动手,丰衣足食,想咋的就咋地.
下面说一下研究了一天的结果,以供参考.本方法的思路:往分类的表里加入排序字段,然后在页面上加入相关的支持.
1.首先得往wordpress分类表里加入排序字段displayorder(类型为int).
经研究,此表为wp_terms.加完后,就给你需要排序的分类依次排序,结果如下:
Oct
两步解决wordpress垃圾评论问题
Wordpress由于他的易用性,可扩展性及可自定义等等诸多优势,成为千千万万博志diy人士的首选.也正因为他庞大的用户群,被众多所谓的垃圾信息商顶上.如果不做任何措施,你的comment表里会每天增加数以百千万计的垃圾,十分烦人.不过用过几款所谓的反垃圾评论插件,感觉不是太顺手,设置麻烦,还有误删现象.可以diy的东西还是用diy的办法解决较爽.
这两天想了个招,手动给评论部分加了类似验证码的东西,相对简单.原理就是评论提交时要做一道随机的加减法.这里说一下,以供参考.
只需要两步:
1.在wp-content/themes目录下,找到你所用的模板目录,然后编辑comment.php页.
找到
<p>
<input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?/>" tabindex="3" />
<label for="url">Website</label>
</p>
大概这个位置,具体情况因模板页的不同而不同.
在这段逻辑完后添加:
当页面上的控件同名且多个的时候,从程序的严密角度出发,需要判断长度,而且有长度和没长度是两种引用方法.oEle= document.all.aaa ;//这里有一个aaa的对象,但我们不知道它现在长度是多少,所以没办法对它操作.因此,我们要先做判断长度的过程.如下:if(oEle.length){}else{};在两种情况下,花括号里面的内容写法也是不一样的:
if(oEle.length){for(var i = 0 ;i<oEle.length;i++){oEle[i].value..}}else{oEle.value..};
但是这样写是不是太复杂了点?而且当花括号里面的代码比较多的时候,我们要写两遍代码,晕了先~还好有
document.getElementsByName()
这个方法.它对一个和多个的处理是一样的,我们可以用:oEle = document.getElementsByName('aaa')来引用当oEle只有1个的时候,那么就是oEle[0],有多个的时候,用下标法oEle[i]循环获取,是不是很简单?值得一提的是它对Name和ID的同样有效的. (它只能应用到document对象)
<div id=radiodiv language=javascript ><INPUT name=radio1 value=1 type="radio"><INPUT name=radio1 value=0 type="radio" CHECKED></div> document.getElementsByName("radio1").item(0).value 结果是 1
但是.相对应的,还有另一个方法,可以应用的对象会更广一点:getElementsByTagName
<div id=radiodiv language=javascript ><INPUT name=radio1 value=1 type="radio" id=myRadio1><INPUT name=radio1 value=0 type="radio" id=myRadio2 CHECKED ></div> radiodiv.getElementsByTagName("input").item(0).value 结果是 1
,比如我知道了一个<DIV ID='aaa'><input name=input1 value=1 type=radio ><input name=input1 value=2 type=radio>……</DIV>我要取DIV里面的所有input,这样写就可以了:aaa.getElementsByTagName('INPUT')这样就有效的可以和别的DIV(比如说有个叫bbb的DIV,里面的也是一样的input)相区别.同getElementsByTagName相对应,还有一个document.body.all.tags()能用这个方法的对象比getElementsByTagName要小得多.但比getElementsByName要多.到这里我们还要提一下getElementById它也是只有document对象才能使用,而且返回的是数组的第一个元素,呵呵,它的方法名都写明了是getElement而不是getElements
<div id=radiodiv language=javascript ><INPUT name=radio1 value=1 type="radio" id=myRadio1 ><INPUT name=radio1 value=0 type="radio" id=myRadio2 value="myVal2" CHECKED ></div> document.getElementById("myRadio2").value 结果是 myVal2