2013-02-05 38 views
0

所以我写了一个函数来处理摘录,但只是在首页。WordPress的编码和内容摘录

http://stevefleming.co.uk/ 

而且功能...

function excerpt_filter2($limit) { 

$content = get_the_content(); 
$content = preg_replace("/<img[^>]+\>/i", "", $content); 
$excerpt = explode(' ', $content, $limit); 
if (count($excerpt)>=$limit) { 
    array_pop($excerpt); 
    $excerpt = implode(" ",$excerpt) . "...&nbsp;<a href='". get_permalink(the_ID()) ."'> continue reading</a>"; 
} else { 
    $excerpt = implode(" ",$excerpt); 
} 
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt); 
echo $excerpt; 
} 

的问题,因为你可以在头版上看到的,是它使追加的帖子ID文本的前面。

我试图调试代码,并在调用implode之前转储$ excerpt数组,以检查该id是不是以某种方式放置在数组中......事实并非如此。

我不知道该帖子的ID如何到达那里。

任何想法?

史蒂夫

+0

'the_ID' - >'get_the_ID' – Peon

回答

2

功能the_ID()自动输出该结果。改变这一行:

$excerpt = implode(" ",$excerpt) . "...&nbsp;<a href='". get_permalink(the_ID()) ."'> continue reading</a>"; 

要:

$excerpt = implode(" ",$excerpt) . "...&nbsp;<a href='". get_permalink(get_the_ID()) ."'> continue reading</a>"; 

退房the codex更多信息,WordPress的通常具有复用功能,不会将结果输出形式:get_*

+0

谢谢!我知道这将是简单的:) – SteveF

0

在这里你的代码

$excerpt = implode(" ",$excerpt) . "...&nbsp;<a href='". get_permalink(the_ID()) ."'> continue reading</a>"; 

您使用

the_ID() 

,将ECH的ID F上的帖子所以尽量将其更改为

get_the_ID() 

希望这是你正面临着。 :)欢呼声

+0

感谢您的回应汤姆只是让你的帖子,但我很欣赏它。 – SteveF