• Как в Go преобразовать struct в map[string]string?

    @exitialis Автор вопроса
    Решил задачу при помощи Type assertions
    req := CreateInvoiceRequest{}
    	req.Payload.Amount = "1"
    	req.Payload.EndDate = "2019-06-26 10:00:00"
    	email := ExtField{
    		Text: "test@mail.ru",
    		Key: "email",
    	}
    	req.Payload.ExtFields.Fields = make([]ExtField, 0)
    	req.Payload.ExtFields.Fields = append(req.Payload.ExtFields.Fields, email)
    	
    	res := make(map[string]string)
    	fields := structs.Fields(req.Payload)
    	for _, field := range fields {
    		value := field.Value()
    		if field.Name() == "ExtFields" {
    			if t, ok := field.Value().(ExtFields); ok && !field.IsZero() {
    				for _, extField := range t.Fields {
    					res[extField.Key] = extField.Text 
    				}
                                    continue
    			}
    			if t, ok := value.(*ExtField); ok {
    				res[t.Key] = t.Text 
    				continue
    			}
    		}
    
    		t, ok := value.(string);
    		if ok {
    			res[field.Name()] = t
    			continue
    		}
    	}
    Ответ написан
    Комментировать
  • Какой есть похожий слайдер, wordpress?

    @exitialis
    Можно и без плагина сделать. Все слайдеры (в основном, я по крайней мере не встречал других) делаются на javascript'e. Могу посоветовать слайдер из bootstrap (он полностью адаптивен), либо, если не хочется подключать bootstrap, то можно попробовать flexslider
    Ответ написан
    1 комментарий
  • Как добавить в меню wordpress атрибуты bootatrap?

    @exitialis
    В любом месте необходимо написать этот код:
    <?php $args = array( // опции для вывода верхнего меню, чтобы они работали, меню должно быть создано в админке
                        'theme_location' => 'top', // идентификатор меню, определен в register_nav_menus() в function.php
                        'container' => 'div', // обертка списка
                        'container_class' => 'collapse navbar-collapse', // класс для контейнера
                        'container_id' => 'menu',
                        'menu_class' => 'nav navbar-nav', // класс для ul
                        'menu_id' => 'bottom-nav', // id для ul
                    );?>

    Далее в нужном месте необходимо вызвать функцию wp_nav_menu(); и передать в нее соответсвующие аргументы. Я делаю всегда так:
    <nav class="navbar navbar-default" id="navigation-menu">
                        <div class="container">
                            <div class="navbar-header">
                                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#menu">
                                    <span class="sr-only">Открыть навигацию</span>
                                    <span class="icon-bar"></span>
                                    <span class="icon-bar"></span>
                                    <span class="icon-bar"></span>
                                </button>
                            </div>
                            <?php wp_nav_menu($args); // выводим верхнее меню ?>
                        </div>
                    </nav>
    Ответ написан
    Комментировать