[英]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.