2013-04-08 3 views
0

내 최근 게시물을 표시하는 WordPress의 사이드 바가 있습니다. 이 작업을 수행하는 PHP 코드는 간단하다 :IF 문을 사용하여 게시물 크기를 기준으로 최근 게시물 표시

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

내가 말하고 IF 문을 포함 할 것이다 :

"워드 프레스 포스트는 100 개 이상의 단어, 디스플레이 (10 개) 최근 게시물, 다른 디스플레이 5 인 경우 "

일단 이것이 달성되는 방법을 알았다면 관련 번호 등을 알아낼 것입니다.

+0

은 흠 .. 그것은'같은 것을의 경우 (나 strlen ($ recent_posts> 300) {// 이렇게}'하지만 당신은 아마. $의 the_post''에'$의 recent_posts' 변경에 구문 분석해야 할 것 중 하나 'foreach' 루프 –

+0

@yUnoDOWNVOTE'$ the_post'가 아니라'global $ post'를 의미한다고 생각합니다.'$ recent_posts'는'array'이므로'strlen()'을 할 수 없습니다. – doublesharp

+0

Ah , ty. 나는 wordpress PHP를 통해 스캔했지만 모든 변수 이름을 배웠다. 따라서 배열을 처리하는 foreach : p –

답변

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

관련 문제