2014-11-10 2 views
0

여기 상황이 있습니다.문자열이 있는지 the_content에 체크인하십시오.

Magento-Wordpress 통합을 사용하여 사이트를 설정했습니다. 통합 작업을 통해 Magento 사이트에서 Wordpress에서 원하는 항목을 호출 할 수 있습니다.

특정 단어가 포함 된 wordpress의 게시물 인 제품 페이지에 표시하고 싶습니다. 제 의견으로는, 게시물의 the_content()에서 제품 제목을 검색 한 다음 필요한 post_meta를 가져와야합니다.

문제는 제대로 작동하지 않는다는 것입니다. 나는 이것을 시도했다 :

<?php $name_of_product = $_helper->productAttribute($_product, $_product->getName(), 'name') ?> 
<?php echo $name_of_product ; ?> 
<?php $args = array('post_type' => 'avada_portfolio', 'posts_per_page' => 103); 
    $loop = new WP_Query($args); 
    while ($loop->have_posts()) : $loop->the_post();   

    <?php 
     $pos = strpos(get_the_content(), "[Dominos]"); 
     var_dump($pos); 
     if (! (FALSE == $pos)) { 
     the_content(); 
     the_title(); 
     } 
     else{echo ("NOTHING HERE");} 
    echo '</div>'; 
    endwhile;          
?> 

그러나 작동하지 않았다. 제안 사항이 있으십니까? 당신의 var_dump() 출력을 바탕으로

+0

작동하지 않으면 어떻게됩니까? – rnevius

+0

또한'==='을'=='로 변경해보십시오. 매뉴얼에서 :'Warning 이 함수는 부울 FALSE를 반환 할 수 있지만 FALSE로 평가되는 부울이 아닌 값을 반환 할 수도 있습니다. ' – rnevius

+0

get_the_content() 함수에서 var_dump를 사용하고 요청한 문자열에 if가 있는지 확인하십시오. – DanR

답변

3

, 당신은 할 수 있어야한다 간단하게 사용하기 :

if (strpos(get_the_content(), '13801580') !== false) { 
    the_content(); 
    the_title(); 
} 
+0

아주 좋습니다. 이 대답은 작동합니다. 그러나 올바른 것으로 받아들이는 것은 최종적인 것이 아닙니다. 다음과 같은 문자열을 비교하려는 경우 'if (strpos (get_the_content(), 0 $ product_title)! == false) { the_content(); the_title(); }' 어떻게해야합니까? – Leonidas

+0

그건 완전히 다른 질문입니다. 해결 된 것으로 표시하고 새 질문을해야합니다. – rnevius

+0

Lol. 그렇게 다른 질문을하는 것이지요. 나는 그것을 작동시킬 수는 없지만 단지 구문 오류라고 생각합니다. 제 질문을 확인해보십시오. 정말로 새로운 질문이라면 대답을 받아 들일 것입니다. – Leonidas

-1

먼저 확인하여 $content, 어쩌면 빈 :

<?php 
$args = array('post_type' => 'avada_portfolio', 'posts_per_page' => 103); 
    $loop = new WP_Query($args); 
    while ($loop->have_posts()) : $loop->the_post();   

     $content = get_the_content(); 

     if($content){ 
      echo 'content present'; 
     }else{ 
      echo 'no content!!!'; 
     } 

    endwhile;          

비어 즉 아니라면 단축 코드 예를 들어 다음 코드를 사용할 수 있습니다.

$content = '[mwi_product sku="13801580,13801584,13801584,13801578,13801580" title="true" title_tag="h2" desc="false" img="true" img_width="250" price="false" type="false" btn_color="blue" btn_link="button" cols="9"/]'; 

    $need_find = array('13801580', '13801584'); 
    foreach($need_find as $find){ 
     if(strpos($content, $find) !== false) { 
      echo 'Find your text: '.$find.'</br>'; 
     } 

    } 
+0

대답 해주세요. – Brotheryura

관련 문제