2017-10-05 1 views
0

하나의 페이지에 여러 사용자 정의 게시물의 제목과 내용을 반환해야하는 단축 코드가 있습니다. 각 게시물의 제목을 올바르게 표시하지만 각 게시물의 내용을 표시 할 때는 첫 번째 게시물의 내용 만 표시합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?do_shortcode within 루프는 첫 번째 게시물의 내용 만 반환합니다.

짧은 코드 내에서 콘텐츠를 가져 오는 방법을 파악하는 것은 충분히 까다 롭습니다. 따라서 누군가에게 제안 사항이있는 경우 감사하게 생각합니다.

내 코드는 다음과 같습니다 당신이 우리 do_shortcode 필요 그것은 마치 보이지 않는

if($customposts->have_posts()) : while ($customposts->have_posts()) : $customposts->the_post(); 
    $post= get_the_ID(); 
    $foo = get_the_title(); 
    $bar=do_shortcode($content); 
    echo "<h2>".$foo."</h2><p>".$bar."</p>";  


endwhile; endif;  
+0

나는 $ 콘텐츠가 루프 밖에서 설정되어 있으므로 항상 동일한 결과를 얻는다 고 생각합니다. – janh

+0

내 단축 코드 기능에서이 루프 외부에 설정됩니다. – bjorkland

+0

'$ content' 란 무엇입니까? – Spartacus

답변

0

. title이 올바르게 작동하면 $bar 변수에 get_the_content()을 할당 할 수 있어야합니다. 이 게시물을 통해 반복하고 있기 때문에

$bar = get_the_content(); 
0

는 루프의 각 반복에서 HTML을 저장 한 다음, (기억 한 번에 모든 HTML을 반환 당신이 에코 또는 단축 코드 콜백에서 인쇄 할 수 없습니다 .. . 잘) 당신이 안, 또는 예상치 못한 결과를 얻을 수 있습니다 : 또한

$html = ''; 
    if($customposts->have_posts()) : 
     while ($customposts->have_posts()) : $customposts->the_post(); 
     $post= get_the_ID(); 
     $foo = get_the_title(); 
     $bar = get_the_content(); 
     $html .= "<h2>$foo</h2><p>$bar</p>"; 
    endwhile; endif; 

return $html; 

, 자신의 변수로 $post 사용에 대한주의, 당신은 의심 할 여지없이 포함하여, 다른 스크립트와 충돌로 올 것이다 핵심.

+0

나는 단축 코드를 사용하고 있습니다.이 단축키 기능 내에 있습니다. 또한 단축 코드 내에서 the_content()를 사용하면 치명적인 오류가 발생합니다. – bjorkland

+0

나는 당신의 의도를 완전히 오해했습니다. 나는 내 대답을 편집했다. – Spartacus

관련 문제