2013-06-20 48 views
0

我需要保存到具有相同的鍵數組值。例如,對於選擇名稱'crop43',我需要保存兩個值:垂直和水平。在metaboxWordPress的 - 保存類似的metabox字段到數組

輸入字段:

<p> 
<label for="crop43">4:3 Crop position</label> 
<select name="crop43[]" style="width: 10%"> 
    <option>Center</option> 
    <option>Top</option> 
    <option>Bottom</option> 
</select> 
<select name="crop43[]" style="width: 10%"> 
    <option>Center</option> 
    <option>Left</option> 
    <option>Right</option> 
</select> 
</p> 

保存過程:

if(isset($_POST['crop43'])) { 
    update_post_meta($post->ID, 'crop43', $_POST['crop43']); 
} 

它僅保存最後的信息(水平位置),而不是垂直的。

回答

0

更簡單的解決方法是重命名2個選擇。

<p> 
<label for="vertical">4:3 Crop position</label> 
<select name="vertical" style="width: 10%"> 
    <option>Center</option> 
    <option>Top</option> 
    <option>Bottom</option> 
</select> 
<select name="horizontal" style="width: 10%"> 
    <option>Center</option> 
    <option>Left</option> 
    <option>Right</option> 
</select> 
</p> 

然後你可以做這樣的事情:

if(isset($_POST['horizontal'] && isset($_POST['vertical]){ 

$array = array(); 
$array['horizontal'] = $_POST['horizontal']; 
$array['vertical'] = $_POST['vertical']; 
$crop43 = json_encode($array); 

update_post_meta($post->ID, 'crop43', $crop43); 

} 

然後,使用json_decode當你想要去的數據庫值變回一個數組。

相關問題