【问题标题】:WordPress: Execution of four conditionsWordPress:执行四个条件
【发布时间】:2025-11-26 17:25:01
【问题描述】:

请问,这四个条件我该怎么做,知道这些与搜索结果有关的命令

        <?php 
    while(have_posts())
    {
    the_post();
      if ($post->post_type == "book") {
         get_template_part( 'search', 'book' );
      }
      elseif ($post->post_type == "video")
      { get_template_part( 'search', 'video' ); }
      else { 
         get_template_part( 'search', 'normal' );

      } else { 
?>
          <p>Sorry, but nothing matched your search criteria. Please try again with some different keywords.</p>
<?php
    }
}
    ?>

感激不尽

【问题讨论】:

    标签: wordpress search conditional-statements


    【解决方案1】:

    我认为您忘记结束 while 循环,请使用以下代码:

       <?php 
        while(have_posts())
        {
        the_post();
          if ($post->post_type == "book") {
             get_template_part( 'search', 'book' );
          }
          elseif ($post->post_type == "video")
          { get_template_part( 'search', 'video' ); }
          else { 
             get_template_part( 'search', 'normal' );
    
          } else { 
    ?>
              <p>Sorry, but nothing matched your search criteria. Please try    again with some different keywords.</p>
        <?php
        }}
        ?>
    

    【讨论】:

    • 感谢您的回复,可惜方法无效
    【解决方案2】:

    感谢您的回复 问题是为什么将状态放在以下条件之前

     while(have_posts())
    {
    the_post();
    

    正确代码:

    <?php if ( have_posts() ) : ?>
    <?php 
    while(have_posts())
    {
    the_post();
      if ($post->post_type == "book") { get_template_part( 'search', 'book' ); }
      elseif ($post->post_type == "video") { get_template_part( 'search', 'video' ); }
      else { get_template_part( 'search', 'normal' ); }
    } 
    else : ?>
          <p>Sorry, but nothing matched your search criteria. Please try    again with some different keywords.</p>
    <?php endif; ?>
    

    【讨论】:

      最近更新 更多