Задать вопрос
@WebforSelf

Как получить id в шорткод wordpress?

Друзья , такой вопрос по вордпрессу. Есть массив из выпадающего списка

<? if (!empty($objects)) { ?>
						<select id="leyka_campaign_id">
								<optgroup>
									<option value="0">Выберите из списка:</option>
								</optgroup>
								<optgroup>
									<? foreach ($objects as $id => $name) {
										$finished = get_post_meta($id, 'is_finished', true);
										if ($finished == 0) { ?>
											<option value="<?= $id ?>"><?= $name ?></option>
										<? } ?>
									<? } ?>
								</optgroup>
							</select>
						<? } ?>


При выборе из списка должна подтягиваться форма шорткодом, для этого набросал скрипт вида

<script>
						jQuery(document).ready(function($) {
							
							$('#leyka_campaign_id').change(function(){
								var 
								form = $('#my_form_leyka'),
								data = {
									action: 'leyka_ajax_payform_shortcode',
									id: '1831',
								};
								form.html('<div class="text-center"><div class="loader"></div></div>');
								$.post(leyka.ajaxurl, data, function(r) {
									form.html(r);
								});
							});
						});
					</script>


И добавляю блок div , куда будет возвращаться данная форма

<div id="my_form_leyka"></div>

Далее в functions.php регистрирую:

function leyka_ajax_payform_shortcode() {	
	if(empty($_POST['id']))
		return '';
	
    echo do_shortcode('[leyka_payment_form id="'.intval($_POST['id']).'"]');
    exit;
}

add_action( 'wp_ajax_leyka_ajax_payform_shortcode', 'leyka_ajax_payform_shortcode' );
add_action( 'wp_ajax_nopriv_leyka_ajax_payform_shortcode', 'leyka_ajax_payform_shortcode' );


Что в итоге нужно, у каждого пункта выпадающего списка есть значение value ( по этому id ) нужно выводить шорткод с данным id.

Пока только на выходе получаю постоянно одну и ту же форму которую id которой указал в скрипте JS

id: '1831',

Как сделать так чтоб при выборе выпадаюего списка он брал значение value и подставлял ее в шорткод который подтягивает аяксом?
  • Вопрос задан
  • 282 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Lord_Dantes
Может попробуйте в JS передать нужный вам ID ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы