吵吵   2012-03-25  阅读:3,548

不知道wp的用户有没有发现一个问题,那就是wp输出日志的概要或者这个日志也好,都会在输出文字的上边或者下边会有一段空白。这段空白也不是很高,但是,如果有图片的话就会发现图片比它高多了。或者在日志也有百度和谷歌的广告的话,你会发现广告也会比它高。吵吵其实很早就发现了这个问题,原来的做法就是把图片或者广告的margin值改一下,让其能够自动的下来与字体对其。

今天我发现我又发现了这个问题,但是一开始并没有意识到是这个问题。当我看到首页的日志概要输出的地方有比较大的空白的时候,我想把这个空白消除,于是便打开了dreamvever去折腾了。

一开始我以为是因为line-height这个属性的问题,于是我在网上看了好多什么line-height技术内幕啥的,改了半天都发现解决不了问题,最后我把旁边的图片删了,发现字体还是没有靠顶,我才知道,压根就不是什么line-height的问题。

于是乎我和月光博客的对比了一下,才惊奇的发现,我们的源码里面有一个p标签。也就是说罪魁祸首就是这个p标签了,wordpress的编辑器会自动为你加上p标签,一般一段就会有一个p标签给包括起来。

wordpress

这确实是一件比较狗血的事情,于是乎我就想自己把p标签给去掉,便打开了模板下的index.php文件,将模板输出内容函数the_content()改为了这样子:
echo substr(get_the_content(”, 0),3,strlen(get_the_content(”, 0))-7);
    这个时候你就惊奇的发现文字倒是置顶了,但是图片却没了,这又是什么问题呢?于是我打开wp模板函数的文件post-template.php,找到代码如下:

function the_content($more_link_text = null, $stripteaser = 0) {
$content = get_the_content($more_link_text, $stripteaser);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
}

你会发现the_content函数是调用get_the_content()来获取文章内容,然后再用apply_filers将其它插件用的钩子程序给执行了,我们这里就是加上右边的图片,之后再输出内容。于是乎我打算直接在这里改了,在内容进入钩子处理之前就将p标签去掉:

function the_content($more_link_text = null, $stripteaser = 0) {
$content = get_the_content($more_link_text, $stripteaser);
$content = substr($content,3,strlen($content)-3);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
}

令人意外的事情是发现文字还是没有靠顶,原本去掉了标签的内容,在进入钩子后又神奇的被加上来了,我们虽然不知道是那个插件改的,或者本身就是wp加上去的,但是事实如此我们也没有办法。为了同时不影响单个日志页面的内容输出,我只好又回到index.php的页面,将the_content()函数彻底的抛弃了,代码改为如下:

function the_content($more_link_text = null, $stripteaser = 0) {
$content = get_the_content('', 0);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
$content = str_replace(array('

','

'), '', $content);
echo $content;
}

至此,这个问题就算是解决了,文字已经靠顶了,原来有的一部分空白消失了。wp的架构本身没有什么问题,但是这点小瑕疵也够伤人的了。还有日志页面的文字也不能和广告对齐,我只能以后再改吧,怎么改就再说了,毕竟在整篇日志里面的p标签可是很多啊,一改可能就会动全身的。

吵吵微信朋友圈,请付款实名加入:

吵吵 吵吵

7条回应:“wordpress中日志文字不能靠顶的问题”

  1. ccov说道:

    我zblog,看了看留言灌水

  2. 点点外卖说道:

    多谢博主共享啦。

  3. 点点外卖说道:

    博主是个好人啊,有你才有我们的幸福啊。

  4. 影楼培训说道:

    谢谢博主分享了啊

  5. 自由在线说道:

    其实空一行也不是什么大问题,感觉空一行看着也挺舒服的。

  6. 标语大全说道:

    全都是技术性的问题

  7. 小清新说道:

    什么情况呢?

发表评论

电子邮件地址不会被公开。 必填项已用*标注