扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
方法一:修改WordPress文件。
成都创新互联公司是一家专业提供东昌府企业网站建设,专注与成都网站设计、做网站、HTML5建站、小程序制作等业务。10年已为东昌府众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
优点:操作简单。
缺点:博客升级后会失效,需重新修改。
找到WorsPress目录wp-includes下formating.php文件,查找unction wp_trim_excerpt($text)函数,再找到excerpt_length,默认值是55,修改成需要的值即可。
方法二:自定义函数,修改主题function.php文件。(楼主推荐)
优点:一劳永逸。
缺点:换主题后需要重新设置。
The_excerpt()在Wordpress中,默认是截取55个英文单词的,但是在中文中却是无法截取到55个汉字。原因是因为在wordpress的the_excerpt()函数中用到了
1
$text = implode(' ', $words);
在php中是用空格来截取字数的,而我们汉字就杯具了,因为我们汉字是相连的,没有空格来区分,所以在使用中文的时候,经常地我们使用the_excerpt()函数的时候,截取出来的结果是全文!
对于这个情况我们可以用PHP函数mb_substr去解决。
所以在Wordpress中可以打开主题中的funtions.php,加入下面的代码:
1
2
3
4
5
function chinese_excerpt($text, $lenth=100) {
$text = mb_substr($text,0, $lenth);
return $text;
}
add_filter('the_excerpt', ' chinese_excerpt ');
我这里设置默认的截取长度是100个字符,50个汉字。可以在上面的代码中的$lenth=100设定为任意的截取长度。
或者直接使用中文截取法,加入如下代码
1
2
3
4
5
function custom_excerpt_length( $length ) {
return 200;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
200为字数,可以修改为自己的值。
需要安装服务器打开php mb_string扩展。
1、安装php-mbstrin扩展,终端执行。
sudo yum install php-mbstring。
2、切换root用户。
sudo -s
3、修改php.ini,终端执行。
echo 'extension=mbstring.so' /etc/php.ini
4、重启web服务器。
apache:
sudo service httpd restart
nginx:
sudo service nginx reload
把插件禁用就ok了,或者自己改写插件
今天突然心血来潮,把wordpress升级到最新版2.3。结果出现在首页出现了wp_post2cat’ doesn’t exist的错误,后来才知道是我用了Simple Tagging的原因。唯有把Simple Tagging禁用了。2.3没有categories, post2cat, and link2cat这三个表。所以你如果用的插件有查询这三个表都会出错。2.3版本自带了tags 的功能,但貌似还不是很好。后来发帖的时候有出现wp_categories’ doesn’t exist的错误,唯有把我认为相关的插件禁用了,但竟然不起作用。晕死,貌似wordpress官方也不知道是什么问题。其实我一开始就就想到可以手动恢复这三个表。结果一试,成功了。但这只是临时的解决方法。代码如下
wp_post2cat
CREATE TABLE `wp_post2cat` (
`rel_id` bigint(20) NOT NULL auto_increment,
`post_id` bigint(20) NOT NULL default ‘0′,
`category_id` bigint(20) NOT NULL default ‘0′,
PRIMARY KEY (`rel_id`),
KEY `post_id` (`post_id`,`category_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=464 ;
wp_categories
CREATE TABLE `wp_categories` (
`cat_ID` bigint(20) NOT NULL auto_increment,
`cat_name` varchar(55) NOT NULL default “,
`category_nicename` varchar(200) NOT NULL default “,
`category_description` longtext NOT NULL,
`category_parent` bigint(20) NOT NULL default ‘0′,
`category_count` bigint(20) NOT NULL default ‘0′,
`link_count` bigint(20) NOT NULL default ‘0′,
`posts_private` tinyint(1) NOT NULL default ‘0′,
`links_private` tinyint(1) NOT NULL default ‘0′,
PRIMARY KEY (`cat_ID`),
KEY `category_nicename` (`category_nicename`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
经过这次,我不敢贸然升级,升级前后要注意以下几点:
1. 备份
2. 少用插件,如非迫不得已,不要使用插件,升级中很多错误都是因为插件的原因,所以插件数量较少也可以降低错误发生的几率,如果已经装了,可以禁用先;
3. 虽然你使用的插件可能很少,但还是会用的,如果插件的作者没有推出兼容新版的版本,我还会寻找其他人修改的版本,比如 iStef 修改的 Google Sitemap Generator;
4. 及时修改所使用的主题,特别是对于此次的 WordPress 2.3,如果主题中有对数据库查询的语句一定要仔细查看,另外还要注意新版本加入的最新功能,比如 Tag;
详细请见:
通常我们在为wordpress开发功能时都需要对数据进行储存。一些简单的功能设置性数据,我们可以通过option机制的表格进行保存于处理。但是如果我们面对需要大量存储,并且用于查询的数据时,我们就需要重新建立一个新的表格来进行存储了。本文简单的介绍一下,用wordpress内置的函数进行数据表的创建方法。
function my_table_install () {
global $wpdb;
$table_name = $wpdb-prefix . "myTable"; //获取表前缀,并设置新表的名称
if($wpdb-get_var("show tables like $table_name") != $table_name) { //判断表是否已存在
$sql = "CREATE TABLE " . $table_name . " (
id mediumint(9) NOT NULL AUTO_INCREMENT,
time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
name tinytext NOT NULL,
text text NOT NULL,
url VARCHAR(55) DEFAULT '' NOT NULL,
UNIQUE KEY id (id)
);";
require_once(ABSPATH . "wp-admin/includes/upgrade.php"); //引用wordpress的内置方法库
dbDelta($sql);
}
}
my_table_install () //执行数据表创建。当然你可以在前面加上一些判断,或者将函数放置到插件的安装脚本中执行。转载,仅供参考。
方法有很多。
修改文件法
找到WorsPress目录wp-includes下formating.php文件,查找unction wp_trim_excerpt($text)函数,再找到excerpt_length,默认值是55,修改成需要的值即可。
修改function.php法
function custom_excerpt_length( $length ) {
return 200;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
200为字数,可以修改为自己的值。
还有就强大的插件。
WP CN Excerpt插件不错。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流