Имя не отображается в выпадающем php

#php

#php

Вопрос:

Я пытаюсь раздуть выпадающий список в php. Он не показывает мне значение в выпадающем списке. Но когда я вижу источник, он показывает мне там. Когда я вижу источник, он показывает мне значение следующим образом

 <select name="choose" id="chooseme">
  Urban Striped Sleeveless<option value="48514" name=""> </option>Black Leather High Top Sneakers<option value="19264" name=""> </option>Navy Knit Cardigan<option value="19263" name=""> </option>.....
  

Ниже приведен код, который я использую..

 <?php
      var_dump($_GET["id"]);

      $args = array( 'post_type' => array('product') ,'posts_per_page' => 100);
      $loop = new WP_Query( $args );

      while ( $loop->have_posts() ) : 
          $loop->the_post();
         //echo '<option value="one">one</option>';
            $title = the_title();
            $value =$loop->post->ID;
       echo "<option value='$value'> $title </option>";

      endwhile;
      ?>
  

Комментарии:

1. Попробуйте объединить строку <option value='$value'>".$title."</option> или <option value='$value'>{$title}</option>

2. эхо '<option value=" '.$value.' "> '.$title.' </option>';

3. @azad chouhan не кажется ли вам, что вам нужно использовать get_the_title() вместо the_title() этого, потому что вам нужно возвращать значение title в соответствии с вашим кодом, как я указал в ответе

4. @azad chouhan, вы пробовали с моим ответом? это должно сработать.

5. пожалуйста, посмотрите вывод здесь thebestofcards.com/choose-card-templates/?id=18933 @Альбертакки

Ответ №1:

Пожалуйста, поймите, что выпадающий список работает:

 <select name="drpDown">
<option value="1">One</option>
<option value="2">Two</option>
</select>

// here value is what we get when we refer it using its name "drpDown" and the text passed between <option> #### </option> is the text that is shown in drop down.
  

Ответ №2:

Попробуйте использовать этот метод, чтобы избежать путаницы между кавычками

 <?php
          var_dump($_GET["id"]);

          $args = array( 'post_type' => array('product') ,'posts_per_page' => 100);
          $loop = new WP_Query( $args );

          while ( $loop->have_posts() ) : 
              $loop->the_post();
             //echo '<option value="one">one</option>';
                $title = the_title();
                $value =$loop->post->ID;
                ?>
         <option value='<?php echo $value; ?>'> <?php echo $the_title; ?> </option>
    <?php
          endwhile;
          ?>
  

Ответ №3:

Я думаю, у вас синтаксическая ошибка!

Старайтесь всегда использовать переменную типа :

 ".$variable."
  

В вашем случае :

 echo "<option value='".$value."'>" .$title. "</option>";
  

Ответ №4:

 ?php
  var_dump($_GET["id"]);

  $args = array( 'post_type' => array('product') ,'posts_per_page' => 100);
  $loop = new WP_Query( $args );

  while ( $loop->have_posts() ) : 
      $loop->the_post();
     //echo '<option value="one">one</option>';
        $title = the_title();
        $value =$loop->post->ID;
   echo "<option value='$value'> ".$title."</option>";

  endwhile;
  ?>
  

Ответ №5:

 Just to avoid confusion, please separate the HTML and PHP. Like this:

<?php
      var_dump($_GET["id"]);

      $args = array( 'post_type' => array('product') ,'posts_per_page' => 100);
      $loop = new WP_Query( $args );
      $posts = "";
      while ( $loop->have_posts() ) : 
          $loop->the_post();
          $title = the_title();
          $value =$loop->post->ID;
          $posts .= "<option value='" . $value . "'>" . $title . "</option>";

      endwhile;
?>

<select name="choose" id="chooseme">
    <?php echo $posts; ?>
</select>
  

Надеюсь, это поможет.

Ответ №6:

Используйте этот приведенный ниже код упоминания: array(‘product’),’posts_per_page’ => 100); $loop = новый WP_Query($args);

           while ( $loop->have_posts() ) : 
              $loop->the_post();
                $title = the_title();
                $value =$loop->post->ID; ?>
           <option value="<?php echo $value; ?>"> <?php echo $title; ?> </option>
    <?php
          endwhile;
          ?>
</html>
  

Ответ №7:

Попробуйте использовать приведенный ниже код. вам нужно повторно использовать значение title, например get_the_title() , пока вы использовали the_title() , которое будет печатать значение

 <?php
      var_dump($_GET["id"]);

      $args = array( 'post_type' => array('product') ,'posts_per_page' => 100);
      $loop = new WP_Query( $args );

      while ( $loop->have_posts() ) : 
          $loop->the_post();
         //echo '<option value="one">one</option>';
            $title = get_the_title(); // this will return the value of title
            $value = $loop->post->ID;
       echo "<option value='$value'> $title </option>";

      endwhile;
      ?>
  

Ссылки на ссылки

https://developer.wordpress.org/reference/functions/get_the_title/
https://codex.wordpress.org/Function_Reference/the_title