WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Нужна помощь!

Мне нужно подтянуть перечень товаров в форму contact form7, чтобы был выпадающий список (именно динамический)

0
Андрей
14 ноября 2019
  • 0
    el-lable280 el-lable.ru

    на вскидку не скажу, вот пример немного другого:

    add_shortcode('brand_condition_complect', 'json_brand_condition_complect');
    // json brand condition complect
    function json_brand_condition_complect(){
    	$pages = get_pages(array(
    		'parent'       => 16,
    		'sort_order'   => 'ASC',
    		'sort_column'  => 'post_title menu_order',
    	) );
    	$brand = Array();
    	foreach( $pages as $page ) {
    		$brand[] = esc_html( $page->post_title );
    	}
    	$condition = Array();
    	foreach( get_terms( 'pa_sostoyanie', ['hide_empty' => false] ) as $term ) {
    		$condition[] = esc_html( $term->name );
    	}
    	$complect = Array();
    	foreach( get_terms( 'pa_komplektacziya', ['hide_empty' => false] ) as $term ) {
    		$complect[] = esc_html( $term->name );
    	}
    	$date = array();
    	for( $i = (int)date('Y'); $i >= (int)date('Y') - 40; $i-- ) {
    		$date[] = $i;
    	}
    	$brand_condition_complect = array(
    		'brand' => $brand,
    		'condition' => $condition,
    		'complect' => $complect,
    		'date' => $date
    	);
    	ob_start();
    ?>
    <script type="text/javascript">var formSelectData = <?php echo json_encode( $brand_condition_complect ); ?>;</script>
    <?php
    	return ob_get_clean();
    }

    и jQuery скрипт заполнения селекта с CF7

    jQuery(function($){
    	// fill a selects
    	if(window.formSelectData){
    		$.each(window.formSelectData, function(name, value){
    			var $select = $('select[name$="-' + name + '"]');
    			$.each(value, function(n, val){
    				$('<option>').val(val).text(val).appendTo($select);
    			});
    		});
    	}
    });
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация