Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (12)

Лучшие ответы пользователя

Все ответы (48)
  • Как сделать что бы wooconerce считал десятые при выборе количества товара?

    @DooX
    ну во первых!
    все что обведено это input
    который имеет тип числовой
    чтоб можно было вводить ручками числа

    если вы хотите чтоб посетитель мог использовать стрелки вверх и вниз то присмотритесь в сторону
    атрибута step="any"
    в нем вы число шага указываем. если указать 0.1 то при клике вверх он будет плюсовать к числу 0.1
    далее по аналогии.
    потом нужно установить плагин для вуу который меняет тип этого поля
    или ручками проследить если где фильтр который значение с этого поля меняет на int даже если стоит float и данный код поменять
    Ответ написан
    1 комментарий
  • Как закрепить блок в Worpdress чтобы он был на всех страницах?

    @DooX
    как другие сказали всё верно, нужно знать минимум html
    а дальше тут 2 вопроса.
    если блок один и тот же и статичный контент то делается это быстро и легко.
    вешаем этот блок на хук футер или хедер в function.php
    это более тру решение, так как в файл header.php или footer.php в зависимости от темы могут быть различны для страниц. а вот get_header или его аналог для футера, будет един в 98%.
    dd_action( 'get_header', 'action_function_name_1277' );
    function action_function_name_1277( $name ){
    	тут пишем то что хотим вывести но если юзаем тупо html то не забыть закрыть php и потом открыть его заново
    или через echo ""; 
    }

    но если этот контент хочется править через админку, то да можно сделать сайдбар как указал Леонид, но опять таки создать функцию и повесить на хук шапки или подвала, это изключит лишние телодвижения
    Ответ написан
    Комментировать
  • Написал код чтобы он сверял с бд. Если файл не существует в бд он удаляется с хостинга?

    @DooX
    // Сброс указателя результатов запроса перед новой итерацией
        $result->data_seek(0);


    Привет. При каждой итерации цикла foreach он сбрасывает указатель результатов запроса $result->data_seek(0), что приводит к повторной обработке всех строк результата запроса. Это приводит к удалению всех файлов, так как они поочередно не находятся в базе данных на каждой итерации.

    Попробуй по другому.

    // Параметры подключения к базе данных
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "username";
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // Проверка подключения к базе данных
    if ($conn->connect_error) {
        die("Ошибка подключения к базе данных: " . $conn->connect_error);
    }
    
    // Выполнение запроса к базе данных для получения списка всех файлов
    $sql = "SELECT img_images FROM img_ads";
    $result = $conn->query($sql);
    
    // Получение списка файлов из базы данных
    $filesInDatabase = array();
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            $filesInDatabase[] = $row['img_images'];
        }
    }
    
    // Получение списка файлов в папке
    $imagesFolder = "media/images/";
    $files = glob($imagesFolder . "*.webp");
    
    // Проход по каждому файлу в папке
    foreach ($files as $file) {
        // Проверка, существует ли файл в базе данных
        $filename = basename($file);
    
        if (!in_array($filename, $filesInDatabase)) {
            if (unlink($file)) {
                echo "Файл удален: " . $file . "<br>";
                // Запись результатов в файл log.txt
                file_put_contents("log/log.txt", "Удален файл: " . $file . PHP_EOL, FILE_APPEND);
            } else {
                echo "Не удалось удалить файл: " . $file . "<br>";
                // Запись результатов в файл log.txt
                file_put_contents("log/log.txt", "Не удалось удалить файл: " . $file . PHP_EOL, FILE_APPEND);
            }
        }
    }
    
    // Закрытие подключения к базе данных
    $conn->close();
    Ответ написан
  • Как правильно добавлять изображения в шаблон для WordPress?

    @DooX
    Смотря какие изображения.
    Если иконки и т д то можно через css
    если допустим кастумный лого выводить то гугли по запросу custom logo wordpress
    а ещё какие могут быть изоображения??
    хотя...
    если ты делаешь крутую тему со своими кастомными штуками то смотри тут

    add_action() - советую прочить что это такое и как его кушать.
    Ответ написан
    6 комментариев
  • Как ускорить процесс загрузки файлов в PHP?

    @DooX
    Очень интересно. Кто то бы написал что-то плохое. Но я помню себя так лет 5 назад так что!

    по физике php и судя по тому что я вижу html ты отправляешь сразу несколько файлов. а может быть у тебя ещё репитер стоит и ты шлешь больше двух. Но ты делаешь один канал связи и шлешь в порядки очереди эти файлы пока они загрузятся все форма висит. ТАк как php не асинхронный.
    1. это не как не решить, просто визуально js показывай что файлы грузятся.
    2. Используй ajax и отправляешь при клике в цикле каждый файл отдельно но не ожидая загрузки первого а сразу открываешь несколько соиденений с сервером и грузишь (сокращая время загрузки на 30-60%) просто они идут параллельно. так делают и на майле и яндексе ит д и т п.
    2.1. А можно вообще намутить так:
    создаешь на сервере ендпоинт допустим pre_upload.php
    Повесить евент на input file как только он изменился ты делаешь сразу загрузку асинхронно на сервер вызывая pre_upload.php , pre_upload.php вернет тебе то что ты там настроишь, допустим загрузку во временную папку и возврат эксклюзивное имя файла.
    Пока идет загрузка файла ты на фронте делаешь анимацию загрузки и как промис вернул положительным ты в input hidden записываешь имя файла.

    тем самым юзер видит что что то происходит и может в форме сразу же выбрать несколько файлов. в момент нажатия загрузить ты по факту ничего не грузишь а тупо отправляешь на file-upload.php массив из имен файлов
    там скрипт проверяет папку временной загрузки находит эти файлы и перемещает на постоянное место.

    что в итоге мы получаем? Юзер видит какие то либо действия, и в момент нажатия кнопки отправить по факту уже все загружено и складывается впечатление что прошли секунды.

    если Юзер передумал грузить какой то либо файл он нажал удалить файл и ты опять удаляешь из временой папки файл.
    3. На сервере настрой keep-alive.
    4. upload_max_filesize и post_max_size для пыхи
    5. gzip

    Так же ещё сервисы большие юзают CDN, если понимаешь принцип то тут ясно почему у них кажется что быстрее все грузится.
    Удачи в покорении вершин!
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (26)