من دارم یه پلاگین وردپرس مینویسم برای پیگیری وضعیت سفارش مشتریان، تو این پلاگین یه بخش هست که برای ذخیره مراحل سفارش هست به این شکل که مدیر میاد و مراحل انجام سفارش رو ثبت میکنه. برای این بخش از یه کد js استفاده کردم که بعد از فشردن یه دکمه یه custom field ایجاد بکنه، که این فیلد ها میتونن تعداد متفاوتی داشته باشن از یکی تا هرچند تا که لازم باشه.
ولی با ذخیره کردنشون مشکل دارم. تو حالت عادی برنامه نویسی php (خارج از بحث پلاگین نویسی وردپرس) با یه دستور for میشه ذخیرشون کرد ولی وقتی از اون روش تو پلاگینم استفاده کردم جواب نداد و ذخیره نشد.
کد های استفاده شده تو بخش نمایش و ایجاد فیلد ها :
<section>
<div id="project_levels_div">
<span class="button button-primary" id="addLevelField" style="margin: 22px"
onclick="addField()">افزودن</span>
</div>
</section>
<script>
function addField() {
var levelCount = $('.project_levels').length;
var x = levelCount + 1;
var input = '' +
'<p>' +
'<label for="employer_name' + x + '">مرحله ' + x + ' :</label>' +
'<input type="text" class="project_levels" name="project_level[' + x + ']" id="project_level' + x + '" style="display: block; margin: 10px 20px;">' +
'</p>';
$('#project_levels_div').append(input);
}
</script>
کد های مربوط به بخش ذخیره سازی :
add_action( 'save_post', 'save_post_project_data_meta' );
function save_post_project_data_meta( $id ) {
if ( ! empty( $_POST['project_level'] ) && is_array( $_POST['project_level'] ) ) {
$count = count( $_POST['project_level'] );
for ( $i = 0; $i < $count; $i ++ ) {
update_post_meta( $id, 'project_level'.$i, strip_tags( $_POST['project_level'][$i] ) );
}
}
}
به امیر حسین کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟