首页 » 建站学习 » WordPress的sanitize_title_with_dashes()函数

0

正在用火车采集器为我的一个英文站采集数据,站是用WP搭建的,其中的Permalinks选项:我是/%category%/%postname%.htm的方式,发现采集过去后,不能自己生成路径,每个文章路径都是清一色的.htm,只有一个后缀,打都打不开,只能手动一个个再到后台去更新,很影响效率。

看了那个火车采集器的接口文件,发现那个post_name没有赋值,所以造成了上面的情况。如果能把post_title转成post_name的话,估计能解决。

想到WP本来就有这个功能,找了一下,发现利用sanitize_title_with_dashes()就能把post_title变成我所需要的post_name,sanitize_title_with_dashes()可以把标题字符串全都小写,删除一些不必要的字符,同时把中间的空格用破折符"-"替代。

$title="&quot;Lenovo <b>ThinkPad</b> T40&quot; Windows XP Driver";

echo sanitize_title_with_dashes($title);

按上面,如果标题字符串是"&quot;Lenovo <b>ThinkPad</b> T500&quot; Windows XP Driver",经过转化就变成这个形式: lenovo-thinkpad-t40-windows-xp-driver。

我测试了一下,在接口文件里加入包含 sanitize_title_with_dashes 函数的WP文件" include('formatting.php');” 的内容后,但老是发布失败,连类别都不能刷出来了,后来索性不加入这个文件,直接调用sanitize_title_with_dashes()反而是可以的,有点纳闷,难道是接口文件里的 include('wp-config.php'); 在起作用?

昨天,在用火车时还发现,发布内容时,如果碰到内容有"&#8217;” 等这些特殊字符,就会自动截断,字符后面的内容就发不出去,一开始,我用替换大法来解决这些特殊字符,后来在发布内容设置里,只要把“数据发布时进行UrlEncode处理”打上勾就可以轻易解决问题了。

locoyspider

WordPress 以后升级还是慢一拍为好
WordPress 以后升级还是慢一拍为好

KingCMS 3.0 转换到 WordPress
KingCMS 3.0 转换到 WordPress

wp_commentmeta 表的清空
wp_commentmeta 表的清空

给自己的博客增加个笑话模块
给自己的博客增加个笑话模块

发表评论