disucz帖子的标题是长度极限是80个字,中文和英文都是一样的。这个长度应该说够用了,但很多人有不同的需要,discuz不可能控制这么细,因此要控制发帖的最小标题长度或者增加80字的极限长度就要修改程序。
1.限制发帖标题的最小长度
可能有的用户发贴子标题只是习惯用一两个字,或很短不能表达帖子在意思,这对搜索引擎优化是不利的,对于用户体验和discuz的seo也不好。限制发帖标题的最小长度,需要修改后台检测函数就可以了,可能对discuz seo也有好处:
打开include/post.func.php文件:- global $subject, $message, $disablepostctrl, $minpostsize, $maxpostsize;
- if(strlen($subject) > 80 ) { //把这两行替换为如下:
- global $subject, $message, $disablepostctrl, $minpostsize, $maxpostsize, $action;
- if(strlen($subject)>80 || ($action=='newthread' && strlen($subject)<8) ){
复制代码 这时还要注意,当标题过短时的提示还是标题过长超过字数限制,还要修改语言包的提示
打开templates/default/messages.lang.php,找到post_subject_toolong
将后面的提示修改为:标题字数应在 8-80 之间,请返回修改标题长度
注意:不改改变这个文件的字符编码,否则会造成显示乱码。
2.加大discuz标题长度
这个真不知道为什么还要加长,可是有人需要过。方法除了像1.一样修改程序中的限制和提示信息,还要修改数据库中字段的长度,否则也存不下自然就丢弃了。
修改数据表字段长度,主题表:cdb_threads,帖子表:cdb_posts
对它们分别执行:ALTER TABLE [上面两个表的名字] MODIFY subject varchar(200);
注意:操作前要备份数据库;红字根据需要修改。
|