2014-12-10 1 views
0

그래서 나는이 작업을 잘못 처리하고 있습니다.Wordpress - 제목의 첫 단어 뒤의 줄 바꿈

E.G. 루프를 통해 쿼리되는 3 페이지 있습니다.

  1. 가슴에서 나오는 기침
  2. 초콜릿 버튼
  3. 유제품 우유

I는 다음과 같이 그들에게 싶습니다

가슴에서 나오는

기침합니다 (후 BR에 첫 번째 단어)

이것은 내가 지금까지 관리했습니다 무엇이며 작동하는 것 같다 :

$tit = get_the_title(); 
$parts = preg_split('/\s*,\s*/', $tit); 
foreach($parts as $part) { 
    preg_match_all('/\S+\S+/', $part, $names); 
    foreach($names[0] as $name) { 
     $separate.= "$name<br/>"; 
    } 
} 

각각 마지막 타이틀이

예를 들어, 전에 하나에 추가됩니다 것으로 보인다 게시 그러나이 후 < - - - firstpost - - - 가슴에서 나오는>


기침

< - - - - - 다음 게시물 - - -
>

가슴에서 나오는 기침
초콜릿
버튼

< - - - 다음 게시물 - ->

체리
기침
초콜릿
버튼
유제품
우유

이 내 전체 루프 : 제대로 출력 있도록

$args = array(
'post_type' => 'page', 
'post_status' => 'publish', 
'meta_query' => array(
    array(
    'key' => '_wp_page_template', 
    'value' => 'template-name.php' // template name as stored in the dB 
    ) 
) 
); 
$my_query = new WP_Query($args); 
// The Loop 
if ($my_query->have_posts()) {       
    while ($my_query->have_posts()) { 
     $my_query->the_post();  

     $tit = get_the_title(); 
     $parts = preg_split('/\s*,\s*/', $tit); 
     foreach($parts as $part) { 
      preg_match_all('/\S+\S+/', $part, $names); 
      foreach($names[0] as $name) { 
       $separate.= "$name<br/>"; 
      } 
     } 
     echo '<h3>'.$separate.'</h3>'; 
    } 
} 
wp_reset_postdata(); 

가 어떻게 고칠까요?

+1

어딘가에 $ separate = ""를 써서 청소해야합니다. –

+0

Thanks Marco! 그것도 일했습니다 :) – user1788364

답변

3

너무 복잡합니다. .=을 사용하여 제목을 연결 했으므로 연결된 제목이 표시됩니다. 그렇게 할 필요가 없습니다. 대신 ' ' (공백) 문자열을 '\n' 개행 또는 '<br>'으로 바꿉니다.

if ($my_query->have_posts()) {       
    while ($my_query->have_posts()) { 
     $my_query->the_post();  

     $title = get_the_title(); 
     echo '<h3>' . str_replace(" ", "<br>", $title) . '</h3>'; 
    } 
} 
wp_reset_postdata(); 
+0

고마워요 - 훨씬 더 간단 해 보이네요! :) – user1788364

+0

문제가 해결되면 답변을 올바른 것으로 표시하십시오. :-) – rnevius