如果字符串存在,请检查the_content

时间:2014-11-10 13:53:24

标签: php wordpress

情况就是这样。

我使用Magento-Wordpress集成设置了一个网站。整合工作,所以我可以在Wordage中调用Magento网站。

我想在产品页面中显示一个来自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;                                       
?>

但没有奏效。 有什么建议吗?

2 个答案:

答案 0 :(得分:3)

根据您的var_dump()输出,您应该可以使用:

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

答案 1 :(得分:-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>';
      }

    }