php - WP post meta - for loop inside for loop

admin2025-06-04  2

I wanna make a portfolio on-click opening images gallery using meta fields. So firstly I make array of portfolio images and loop them. Then I loop gallery images of every portfolio item, but it loops the same data, it's look like not saving properly. How to save properly so that every portfolio item will have own gallery images? Any help will be appreciated

Here my code:

for ($i = 0; $i < $portfolio_item_no; $i++ ){
    $html = "<img id='m_img_preview_m_img_$i' src='"  .$pi_main_img[$i] . "' alt='" . $pi_main_img_alt[$i] . "' />
    <input type='number' name='pi_slide_no[]' id='slideNo-$i' class='form-control' value='" . $pi_slide_no[$i] . "' />";

    for ($i2 = 0; $i2 < $pi_slide_no[$i]; $i2++ ){
        $html .= "<img id='slide_m_img_sld-$i-$i2' src='" . $pi_slide_img_link[$i2] . "' />
         <input type='hidden' id='slide_link_m_img_sld-$i-$i2' name='pi_slide_img_link[]' value='" . $pi_slide_img_link[$i2] . "' />";
    }
}

// To call
$pi_main_img = get_post_meta($post->ID, "_pim_main_img2", true);
$pi_main_img = ($pi_main_img != '') ? json_decode($pi_main_img) : array();
// ...

// To save
if ( isset( $_REQUEST['pi_main_img'] ) ) {
$pi_main_img = (isset($_POST['pi_main_img']) ? $_POST['pi_main_img'] : '');
$pi_main_img = strip_tags(json_encode($pi_main_img, JSON_UNESCAPED_UNICODE));
update_post_meta($post_id, "_pim_main_img2", $pi_main_img); 
}

if ( isset( $_REQUEST['pi_slide_img_link'] ) ) {
$pi_slide_img_link = (isset($_POST['pi_slide_img_link']) ? $_POST['pi_slide_img_link'] : '');
$pi_slide_img_link = strip_tags(json_encode($pi_slide_img_link, JSON_UNESCAPED_UNICODE));
update_post_meta($post_id, "_pim_slide_img_link2", $pi_slide_img_link); 
}
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1748987007a315406.html

最新回复(0)