Задать вопрос
  • Почему array_count_values возвращает пустой массив?

    @Elena_11 Автор вопроса
    <ul>
    	<?php
    	$custom_query = new WP_Query(array(
    		'post_type' => 'vse_ob_ekti',
    		'posts_per_page' => -1,
    	));
    
    	if ($custom_query->have_posts()) {
    		$object_types = array();
    
    		while ($custom_query->have_posts()) {
    			$custom_query->the_post();
    			// Получите значение кастомного поля 'object_type' с помощью ACF
    			$object_type = get_field('object_type');
    
    			if ($object_type && isset($object_type['value']) && isset($object_type['label'])) {
    				$object_types[$object_type['value']] = $object_type['label'];
    			}
    		}
    		wp_reset_postdata();
    		// Вывод начальных значений и скрытие остальных
    		foreach (array_reverse($object_types) as $value => $label) {
    			$is_initial_value = in_array($label, array('Таунхаусы', 'Квартиры, апартаменты', 'Дома, виллы, коттеджи'));
    			$class = $is_initial_value ? '' : 'hidden no-popular';
    
    			// Подсчет количества записей для текущего значения
    
    			$count = array_count_values(array_column($object_types, $value));
    			//var_dump($object_types, $value, $count);
    
    
    			echo '<li class="select__type-item ' . $class . '" data-value="' . esc_attr($value) . '"><span class="item-text" style="margin-right: 10px" data-label="' . esc_attr($label) . '">' . esc_html($label) . '</span>' . $count[$value] . '</li>';
    		}
    		echo '<li class="show-more show-button">Показать все</li>';
    		echo '<li class="hide-more show-button">Показать популярные</li>';
    	}
    	?>
    </ul>
    Написано
  • Почему array_count_values возвращает пустой массив?

    @Elena_11 Автор вопроса
    Михаил Ливач, всё что на картинке было продублировано текстом. Скрин лишь в дополнение чтобы показать вывод. И что значит "я уверен что код работал не так. Если работало, значит уже так) Всё устраивало. Счётчики корректно показывали количество записей в каждом типа объектов. Лейблы по-прежнему отображаются корректно, но не показывает кол-во записей.

    Не совсем поняла вот это что имеется ввиду - "Я догадываюсь, что тут должно быть такое:", я так понимаю вы показываете каким должен быть массив, но массив в коде именно такой. Что именно нужно сделать чтобы его изменить и функция заработала? Из ответов пока не совсем поняла что конкретно нужно сделать, ведь данные динамические и я их не ввожу вручную. Там циклом выводится список из объектов. Может имеет смысл показать полностью цикл, внутри которого эта функция?
    Написано
  • Почему array_count_values возвращает пустой массив?

    @Elena_11 Автор вопроса
    это скрин с фронта, в чём именно странность кода? Писал другой человек, но код работал раннее. Со сменой php перестал. Код считал сколько объектов в той или иной категории. Дамп:
    array(10) { ["newbuildings"]=> string(22) "Новостройки" ["flat"]=> string(40) "Квартиры, апартаменты" ["house"]=> string(38) "Дома, виллы, коттеджи" ["condominiums"]=> string(24) "Кондоминиумы" ["arenda"]=> string(36) "Квартиры под аренду" ["land"]=> string(33) "Земельные участки" ["islands"]=> string(14) "Острова" ["chalet"]=> string(8) "Шале" ["castle"]=> string(10) "Замки" ["townhouse"]=> string(18) "Таунхаусы" } string(9) "townhouse" array(0) { }
    Warning: Undefined array key "townhouse" in
    Написано
  • Как добавить Тег к сделке AMO CRM по API?

    @Elena_11 Автор вопроса
    Валерий Чмых, да вроде работает и в документации у них указан 'tags', видимо можно и так и так. Раз работает)
    Написано
  • Как добавить Тег к сделке AMO CRM по API?

    @Elena_11 Автор вопроса
    спасибо, там действительно метод PATCH, если отправлять отдельным запросом. Но как оказалось, тег можно сразу при создании сделки прописать, я почему-то решила, что отдельным запросом надо, как примечание) можно просто внутрь "_embedded" добавить, а метод у меня такой $amoClient('POST', '/api/v4/leads/complex',
    "_embedded" => [
        'tags' => [
            ['name' => $tag],
        ],
    ],
    Написано
  • Как добавить Примечание в сделку / API AmoCRM?

    @Elena_11 Автор вопроса
    Валерий Чмых, Спасибо тебе огромное, добрый человек! Здоровья тебе, твоим детям, внукам и даже правнукам )) Ты мне большую помощь оказал. 2 дня мучилась и не получалось добавить этот несчастный комментарий к сделке
    Написано
  • Как добавить Примечание в сделку / API AmoCRM?

    @Elena_11 Автор вопроса
    Валерий Чмых, ураа, примечание добавилось, там просто токены же обновляются, надо было подключить require_once 'access.php'; и переменную с токеном вставить $access_token, а я секретный ключ вставляла. А в мой запрос это нельзя было интегрировать? Он не подходит по каким-то причинам или почему полностью заново переписали? Там же вроде сделка создаётся, в теории я же могу в мой код добавить кусочек с комментарием?
    Написано
  • Как добавить Примечание в сделку / API AmoCRM?

    @Elena_11 Автор вопроса
    Валерий Чмых, хочу уточнить - $domain это же subdomain имеется ввиду? который указывается при авторизации. В общем и так и так тестировала. Заявки уходят только с моим запросом (который выше присылала).

    С вашим вариантом вот (токен добавляла где указано):
    array(2) { ["content"]=> NULL ["status_code"]=> int(402) } array(2) { ["content"]=> array(4) { ["title"]=> string(9) "Not Found" ["type"]=> string(25) "https://httpstatus.es/404" ["status"]=> int(404) ["detail"]=> string(53) "Cannot POST https://subdomain.amocrm.ru/leads//notes!" } ["status_code"]=> int(404) }
    Написано
  • Как добавить Примечание в сделку / API AmoCRM?

    @Elena_11 Автор вопроса
    Валерий Чмых, попробовала - заявки приходят, но примечание не добавляется

    67dfc7495f202288883013.png

    здесь точно через скобки фигурные id вставляется? редактор подсвечивает всё как обычный текст. Пробовала через точку переменную прописать, но тоже не добавляется примечание
    Написано
  • Как добавить Примечание в сделку / API AmoCRM?

    @Elena_11 Автор вопроса
    Валерий Чмых, Большое спасибо за развёрнутый ответ по существу. Вот отрывок кода, отвечающий за добавление сделки. Там в конце как раз есть $response. Он подойдёт для того, чтобы вытащить id? Только вот как именно прописать запрос на добавление комментария я как раз и не понимаю...

    $method = "/api/v4/leads/complex";
    
    $headers = [
        'Content-Type: application/json',
        'Authorization: Bearer ' . $access_token,
    ];
    
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_USERAGENT, 'amoCRM-API-client/1.0');
    curl_setopt($curl, CURLOPT_URL, "https://$subdomain.amocrm.ru".$method);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_COOKIEFILE, 'amo/cookie.txt');
    curl_setopt($curl, CURLOPT_COOKIEJAR, 'amo/cookie.txt');
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
    $out = curl_exec($curl);
    $code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    $code = (int) $code;
    $errors = [
        301 => 'Moved permanently.',
        400 => 'Wrong structure of the array of transmitted data, or invalid identifiers of custom fields.',
        401 => 'Not Authorized. There is no account information on the server. You need to make a request to another server on the transmitted IP.',
        403 => 'The account is blocked, for repeatedly exceeding the number of requests per second.',
        404 => 'Not found.',
        500 => 'Internal server error.',
        502 => 'Bad gateway.',
        503 => 'Service unavailable.'
    ];
    
    if ($code < 200 || $code > 204) die( "Error $code. " . (isset($errors[$code]) ? $errors[$code] : 'Undefined error') );
    
    
    $Response = json_decode($out, true);
    $Response = $Response['_embedded']['items'];
    $output = 'ID добавленных элементов списков:' . PHP_EOL;
    foreach ($Response as $v)
        if (is_array($v))
            $output .= $v['id'] . PHP_EOL;
    return $output;
    Написано
  • Как добавить Примечание в сделку / API AmoCRM?

    @Elena_11 Автор вопроса
    Спасибо за комментарий, если бы вы мне это не написали, то из документации я бы и не догадалась, потому что документация амо по-моему совершенно не помогает... Там только примеры ответов и параметры, а примера как добавить примечание через api нет. Заявка создаётся из кода выше, но что конкретно дальше делать не понимаю. Как конкретно получить id и каким именно запросом можно создать примечание? Может какой-то рабочий пример есть
    Написано
  • Как добавить кастомное поле с загрузкой файлов в карточку товара Woocommerce?

    @Elena_11 Автор вопроса
    yarovikov, эдак умело вы перескочили с миллиард примеров на оскорбления.
    Написано
  • Как добавить кастомное поле с загрузкой файлов в карточку товара Woocommerce?

    @Elena_11 Автор вопроса
    yarovikov, а может вам подучить основы вукомерс и понять что там всё на хуках, это плагин со своими особенностями, а не набор обычных постов. Примера из озвученных миллиардов не будет так понимаю?
    Написано
  • Как добавить кастомное поле с загрузкой файлов в карточку товара Woocommerce?

    @Elena_11 Автор вопроса
    yarovikov, ну так покажите хоть один пример такой реализации не к постам, а к товару woocommerce. Вы вот всё про миллиарды примеров в гугл говорите, но ни одной ссылки не дали. С большим удовольствием посмотрю и даже воспользуюсь
    Написано
  • Как добавить кастомное поле с загрузкой файлов в карточку товара Woocommerce?

    @Elena_11 Автор вопроса
    yarovikov, так и я без негатива. Попробуйте нагуглите пример реализации загрузчика в карточке woocommecre кроме того, что выше предложил Владимир Е (что я и пробовала), то обнаружите, что это единственный пример реализации кастомного поля woocommerce с загрузкой через админку, и он оказался нерабочий. Иначе не стала бы писать сюда.
    Написано
  • Как добавить кастомное поле с загрузкой файлов в карточку товара Woocommerce?

    @Elena_11 Автор вопроса
    yarovikov, хорошо что вы сразу родились и всё кодом без плагинов умели. А нам простым смертным надо пример реализации или документацию хотя бы одним глазком посмотреть
    Написано
  • Как добавить кастомное поле с загрузкой файлов в карточку товара Woocommerce?

    @Elena_11 Автор вопроса
    Владимир Е, вот именно этот пример пробовала, но оно не работает. Поле выводится, но не работает и не сохраняет. Видимо устаревшие функции в примере. В целом с загрузчиком я так поняла всё сложно и наверное как вариант можно ACF для этих целей взять, там есть такой тип поля. Думала будет попроще, по аналогии с выводом обычных полей, а там реально целый велосипед писать надо
    Написано
  • Как добавить кастомное поле с загрузкой файлов в карточку товара Woocommerce?

    @Elena_11 Автор вопроса
    yarovikov, спасибо за рекомендацию плагина, но по большей части интересует реализация с помощью кастомных полей. Нельзя ли такой загрузчик реализовать кастомно? По аналогии с текстовыми полями. Только для файлов
    Написано
  • Как перелистнуть нужный слайд при клике на фото Slick?

    @Elena_11 Автор вопроса
    Ankhena, ну инициализация js-скрипта везде одинаковая, поэтому и не уточнила. А вот возможности вёрстки в Тильде ограничены. Поэтому в этом плане руки связаны
    Написано
  • Как перелистнуть нужный слайд при клике на фото Slick?

    @Elena_11 Автор вопроса
    Ankhena, хотя может и подойдёт вариант со связанным слайдером. Там вроде нет общего контейнера. Попробую.
    Написано