Rumah  >  Soal Jawab  >  teks badan

Mengapakah nilai kotak drop-down yang dipilih tidak dipaparkan?

Saya sedang membina fungsi untuk pemalam WordPress saya yang akan memaparkan senarai lungsur turun semua halaman yang tersedia. Apabila saya mengklik "Simpan Perubahan" nilai disimpan dalam pangkalan data dengan sempurna. Ia juga mengemas kini nilai dengan sempurna. Walau bagaimanapun, nilai yang dipilih tidak dipaparkan dalam senarai juntai bawah. Apabila "Simpan Perubahan" diklik, nilai disimpan, tetapi lungsur turun ditetapkan semula kepada "Pilih Satu" sekali lagi. Ia tidak boleh memaparkan pilihan yang dipilih. Adakah saya melakukan sesuatu yang salah di sini? Sebarang bimbingan amatlah dihargai.

<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粉090087228402 hari yang lalu661

membalas semua(1)saya akan balas

  • P粉197639753

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

    Ok, jadi saya jumpa penyelesaian untuk masalah saya. Di bawah ialah kod yang ditampal itu mungkin berguna kepada seseorang.

    <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>

    balas
    0
  • Batalbalas