Php 在一个post元数组中保存多个字段

Php 在一个post元数组中保存多个字段,php,wordpress,Php,Wordpress,我正在为小时创建一个自定义字段,因此我决定为每个工作日的小时数输入7个输入 $week = [ 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday' ]; foreach ($week as $day) { $value = get_post_meta( $

我正在为小时创建一个自定义字段,因此我决定为每个工作日的小时数输入7个输入

$week = [
        'monday',
        'tuesday',
        'wednesday',
        'thursday',
        'friday',
        'saturday',
        'sunday'
    ];

foreach ($week as $day) { 

        $value = get_post_meta( $post->ID, "$day", true ); ?>

        <div>
            <label for="<?php echo $day; ?>_hours" style="display: inline-block;float: left;clear: left;width: 250px;text-align: right;"><?php echo ucfirst($day); ?> Hours: </label>
            <input type="text" id="<?php echo $day; ?>_hours" name="<?php echo $day; ?>" value="<?php echo "$value"; ?>" >
        </div>

<?php }

这就给我留下了7个
post\u meta
条目。此外,使用此方法,我必须在保存和显示功能中复制我的
$week[]
数组。我是否可以将值存储为key=>value对,并仅引用1
post\u meta
object

为什么不只保存一个
元值(作为数组)?例如:

$week = array(
    'monday' => !empty( $_POST['monday'] ) ? sanitize_text_field( $_POST['monday'] ) : '',
    'tuesday' => 'someval',
    'wednesday' => 'someval',
    'thursday' => 'someval',
    'friday' => 'someval',
    'saturday' => 'someval',
    'sunday' => 'someval'
);
update_post_meta( $post_id, 'week', $week );
然后,您可以使用以下工具获取所有数据:

$week = get_post_meta( $post_id, 'week', true );  // retrieve an array of week data

我们在工作中所做的。在我们的自定义框架中,我们有一个方法,您可以将关联数组发送到该方法。在您的场景中,创建自己的函数来实现这一点似乎很理想。易于制作,键是字段,值是。。值不确定这是否是您的意思,但如果您这样命名输入

$week = get_post_meta( $post_id, 'week', true );  // retrieve an array of week data