2013-04-08 30 views
0

我在wordpress中有一个侧边栏,显示我最近的帖子。 PHP代码,这是否仅仅是:显示最近的帖子基于邮政规模使用IF语句

$recent_posts = wp_get_recent_posts(array("numberposts"=>5)); 

我想包括IF语句说:

“如果WordPress的职位超过100个字,显示最近的10个职位,否则显示5 “

一旦我知道这是如何实现的,我会计算出相关的数字等。

+0

嗯..它像'如果(strlen的($ recent_posts> 300){//做到这一点}'但是你要么必须改变'$ recent_posts'到'$ the_post'。可能解析它在一个'foreach'循环。 – 2013-04-08 23:20:49

+0

@yUnoDOWNVOTE我认为你的意思是'global $ post'而不是'$ the_post'。'$ recent_posts'是一个'array',所以你不能'strlen()'对其进行操作。 – doublesharp 2013-04-09 03:12:46

+0

啊,ty。我已经通过wordpress php进行了扫描,但还没有学习所有的变量名。因此,处理该数组的foreach:p – 2013-04-09 15:00:17

回答

2

您可以使用全球$post来检查post_content的长度,然后相应地设置$numberposts

global $post; 
$numberposts = 1; // default number of posts 
if (!empty($post)){ 
    $len = strlen($post->post_content); 
    // change $numberposts based on length of $post->post_content 
    if ($len < 300){ 
     $numberposts = 8; 
    } elseif ($len < 500){ 
     $numberposts = 5; 
    } elseif ($len < 800){ 
     $numberposts = 3; 
    } else { 
     $numberposts = 1; 
    } 
} 
$recent_posts = wp_get_recent_posts(array("numberposts"=>$numberposts)); 
+0

非常感谢 - 完美的作品! – dvent 2013-04-09 09:33:20