Heim  >  Fragen und Antworten  >  Hauptteil

Warum wird der ausgewählte Wert im Dropdown-Feld nicht angezeigt?

Ich baue eine Funktion für mein WordPress-Plugin, die eine Dropdown-Liste aller verfügbaren Seiten anzeigt. Wenn ich auf „Änderungen speichern“ klicke, werden die Werte perfekt in der Datenbank gespeichert. Außerdem wird der Wert perfekt aktualisiert. Der ausgewählte Wert wird jedoch nicht in der Dropdown-Liste angezeigt. Wenn auf „Änderungen speichern“ geklickt wird, werden die Werte gespeichert, das Dropdown-Menü wird jedoch wieder auf „Einen auswählen“ zurückgesetzt. Die ausgewählte Option kann nicht angezeigt werden. Mache ich hier etwas falsch? Für jede Anleitung wären wir sehr dankbar.

<form method=post>
<div class="header-right">
  <?php
  $posts = get_pages(
    array(
        'post_status' => 'publish',
    )
  );
  
  ?>
  <select name="page_for_logged_in" id="page_for_logged_in">
    <option selected="selected">选择一个</option>
    <?php
    foreach ( $posts as $page ) {
        ?>
        <option value="<?php echo esc_attr( $page->post_name ); ?>" <?php selected(get_option('page_for_logged_in'), 'page')?>><?php echo esc_html( $page->post_title ); ?></option>
        <?php
    }
    ?>
  </select>

  <?php
  if(empty($_POST['page_for_logged_in'])) {
      
    } else {
      $myvalue=$_POST['page_for_logged_in'];
      update_option('page_for_logged_in', $myvalue, $autoload = 'no');
    }
    ?>

<?php submit_button(); ?>

</p>
</br>
</br>
</form>

P粉090087228P粉090087228403 Tage vor664

Antworte allen(1)Ich werde antworten

  • P粉197639753

    P粉1976397532023-09-13 12:24:36

    好的,所以我找到了解决我的问题的方法。下面是粘贴的代码;对某人可能有帮助。

    <form method=post>
        <div class="header-right">
          <?php
          $posts = get_pages(
            array(
                'post_status' => 'publish',
            )
          );
          
          ?>
          <?php
          if(empty($_POST['page_for_logged_in'])) {
              
            } else {
              $myvalue=$_POST['page_for_logged_in'];
              update_option('page_for_logged_in', $myvalue, $autoload = 'yes');
            }
            ?>
          <select name="page_for_logged_in" id="page_for_logged_in">
            <option value="" disabled selected>选择一个</option>
            <?php
            foreach ( $posts as $page ) {
                ?>
            <option value="<?php echo esc_attr( $page->post_title ); ?>" <?php echo ( get_option('page_for_logged_in') == $page->post_title ? 'selected' : '' ); ?>><?php echo esc_html( $page->post_title ); ?></option>
                <?php
            }
            ?>
          </select>
    
        <?php submit_button(); ?>
    
        </p>
        </br>
        </br>
        </form>

    Antwort
    0
  • StornierenAntwort