簡體   English   中英

更改為循環 WordPress 主題選項頁面

[英]change to loop WordPress theme options page

我使用代碼制作 WordPress 主題選項頁面,我需要幫助將此代碼轉換為 php 循環

將 $photo_1 和 photo_1 auto 更改為 $photo_2 等 ---- 對於 x=number

<?php
        
        
// in main file
function my_awesome_page_display() {
    

    if (isset($_POST['photo_1'])) {
        $photo_1 = $_POST['photo_1'];
        update_option('photo_1', $photo_1); 
    }
    if (isset($_POST['link_1'])) {
        $link_1 = $_POST['link_1'];
    update_option('link_1', $link_1);    
    }
    
    if (isset($_POST['photo_2'])) {
        $photo_2 = $_POST['photo_2'];
        update_option('photo_2', $photo_2); 
    }
    if (isset($_POST['link_2'])) {
        $link_2 = $_POST['link_2'];
    update_option('link_2', $link_2);    
    }

 if (isset($_POST['photo_2'])) {
        $photo_3 = $_POST['photo_3'];
        update_option('photo_3', $photo_3); 
    }
    if (isset($_POST['link_3'])) {
        $link_3 = $_POST['link_3'];
    update_option('link_3', $link_3);    
    }
    
    

}

問題很模糊。 如果您可以提供有關用例的更多詳細信息,這將對我的回答有所幫助。

我會查看 HTML 方面的多部分表單數據,以將 post 變量作為數組發送。

但是,如果您在此處尋找循環,那將有所幫助。

function my_awesome_page_display() {

$counter = 1;

$photo = array();

$link = array();

do{
    
    if (isset($_POST['photo_'.$counter])) {
        
        $photo[$counter] = $_POST['photo_'.$counter];
        
        update_option('photo_'.$counter, $photo_1); 
        
    }
    
    if (isset($_POST['link_'.$counter])) {
        
        $link[$counter] = $_POST['link_'.$counter];
        
        update_option('link_'.$counter, $link_1);
        
    }
    
    
    //Increment the counter by one each time
    
    $counter++;
    
}
while(isset($_POST['photo_'.$counter]));
//Will go until the POST is not set

}

我強烈建議您使用多部分表單數據:

<form method="POST" enctype="multipart/form-data">
    One Photo Input: <input type="text" name="photos[]"/>
    Another Photo Input: <input type="text" name="photos[]"/>
<!-- same for links -->
</form>

那么 function 更新選項可以很簡單如下:

function my_awesome_page_display() {

$photos = $_POST['photos'];
$links = $_POST['link'];
    
//Store photos to ONE option called photo

update_option('photos',json_encode($photos));
update_option('links',json_encode($links));
//Use json_decode to get all the values back out of storage



}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM