Задать вопрос
  • Что делать если element.style мешает на определенной странице?

    svistiboshka
    @svistiboshka
    живые веб интерфейсы
    и php и html и css и jquery этого точно достаточно? может нужны еще серверные конфиги? выложите минимальную проблему в песочницу. будем смотреть
    Ответ написан
    Комментировать
  • Как быстро поднять интернет-магазин на WooCommerce?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Как я понял у вас имеется уже верстка. Осталось для начала создать тему, а потом уже адаптировать под Woocommerce.
    https://codex.wordpress.org/Theme_Development
    Создайте тему -
    создайте файл style.css и добавьте:
    /*   
    Theme Name: MyTheme
    Theme URI: mytheme.loc
    Description: Individual WP Theme
    Author: AuthorName
    Author URI: mytheme.loc
    Version: 1.0
    */

    Внесите свои правки...

    Создайте файл functions.php и подключите все скрипты, стили и шрифты через код. Например,
    // подключаем стили и скрипты
    function register_styles_scripts() {
    	//стили
    	wp_enqueue_style('customCSS', get_template_directory_uri() .
    		'/custom.css');
    	
    	//скрипты
    	wp_enqueue_script('jquery', get_template_directory_uri() .
    		'.js/script.js');
    }
    add_action('wp_enqueue_scripts', 'register_styles_scripts');


    Создайте необходимый набор файлов рнр (index.php, header.php, footer.php, page.php, single.php, archive.php). Смотря, какие страницы вам нужны...
    https://developer.wordpress.org/themes/basics/temp...

    Создайте меню в functions.php Например:
    register_nav_menu ('menu', 'Main menu');
    и выведите меню через - wp_nav_menu()
    https://wp-kama.ru/function/register_nav_menu
    https://wp-kama.ru/function/wp_nav_menu

    Включите поддержку миниатюр для записей -
    add_theme_support( 'post-thumbnails' );

    Далее по шаблонам:
    - вставляем <?php wp_head(); ?> перед </head>
    - вставляем <?php wp_footer(); ?> перед </body>
    - Копируем header вырезаем и вставляем в header.php
    - Взамен добавляем код <?php get_header(); ?>
    - Копируем sidebar вырезаем и вставляем в sidebar.php
    - Взамен добавляем код <?php get_sidebar(); ?>
    - Копируем footer вырезаем и вставляем в footer.php
    - Взамен добавляем код <?php get_footer(); ?>
    - в index.php изменяем url изображений на <?php bloginfo('template_url'); ?>/
    - вставляем между <title><?php bloginfo('name');?> | <?php wp_title(); ?></title>


    В шаблоны добавьте цикл ВП:
    <?php if (have_posts()) :  while (have_posts()) : the_post(); ?>
    
    <?php the_content (); ?>
    
    <?php endwhile; ?>
    <?php endif; ?>


    После этого можно приступать к адаптации вукомерца.

    Для корректного применения стилей вукомерца в тег body надо добавить body_class()
    https://wp-kama.ru/function/body_class

    Далее установите плагин Woocommerce. В папке с плагином есть папка templates. Скопируйте ее в директорию вашей темы и переименуйте в woocommerce

    Цикл вукомерца отличается от стандартного цикла ВП. Подробная информация:
    https://docs.woocommerce.com/document/third-party-...

    Шаблоны вукомерца работают используют хуки. Используйте их для кастомизации.
    https://docs.woocommerce.com/document/introduction...
    Ответ написан
    3 комментария
  • Где лучше брать сервер VPS, Нидерланды или Украина?

    sim3x
    @sim3x
    амазон
    диджиталокеан
    вултр
    ...

    Загрузка вашего сайта зависит от кода и оптимизаций
    Разница между 4мс и 40мс не так существенна
    Ответ написан
    2 комментария
  • Взлом сайта через wp-json, как защщитить?

    @mayor-jojo
    Ответ написан
    Комментировать
  • Как расчитать вес основания торшера?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для расчёта можно взять только одну ось, по второй торшер зеркально-симметричен и устойчив. За 0 примем центр основания.
    1. Основание - радиус Rосн, масса Mосн
    2. Вертикальная труба - расстояние от центра основания Xвт, масса Mвт
    3. Дуга, самая сложная часть, примем за сектор в 90°, радиус Rд, масса Mд
    4. Вынос - длина Lв, масса Mв
    5. Светильник - масса Mсвacbb3f86d8c64ba1ae8c2edd104d77be.png

    Для начала посчитаем расположение всех центров масс.
    Rцмд = Rд*sin(π/4)/(π/4) = 0.9*Rд
    Xцмд = Rд - Rцмд*cos(π/4) - Xвт
    Xцмв = Rд - Xвт + Lв / 2
    Xсв = Rд - Xвт + Lв

    Теперь возьмём формулу центра масс сложного объекта
    Xцм = SUM(Xi * Mi) / SUM(Mi)
    Наложим ограничение Xцм < Rосн
    (-Xвт*Mвт + Xцмд*Mд + Xцмв*Mв + Xсв*Mсв) / (Mосн + Mвт + Mд + Mв + Mсв) < Rосн
    (Mосн + Mвт + Mд + Mв + Mсв) > (-Xвт*Mвт + Xцмд*Mд + Xцмв*Mв + Xсв*Mсв) / Rосн
    Mосн > (-Xвт*Mвт + Xцмд*Mд + Xцмв*Mв + Xсв*Mсв) / Rосн - Mвт - Mд - Mв - Mсв
    Ответ написан
    1 комментарий
  • Как сделать что бы сайт работал только на определенных пк(привязка к железу)?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    Сайт не знает мак адрес и узнать не может.

    Только по IP
    Ответ написан
    2 комментария
  • Как залить векторное лого на wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вставьте в functions.php:
    /**
     * Allow SVG files in Media Library.
     */
    function extra_mime_types( $mimes ) {
    
    	$mimes['svg'] = 'image/svg+xml';
    
    	return $mimes;
    }
    add_filter( 'upload_mimes', 'extra_mime_types' );

    И спокойно загружайте себе SVG-файлы. EPS в вебе не поддерживается.

    Данный код работает 100%, проверено на десятках сайтов собственными руками.
    Ответ написан
    4 комментария
  • Как сделать корзину и т.п. на своей теме Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ответ написан
    Комментировать
  • Как написать условие в WordPress "Если появился новый одобренный комментарий"?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ваша функция висит на хуке transition_comment_status, который вызывается только при смене статуса уже существующего комментария. Новый комментарий, который проходит автомодерацию, через transition status не проводится, он сразу добавляется с нужным статусом. Чтобы зацепиться в этом случае, вам понадобится хук comment_post (вот он) или wp_insert_comment (вот он). Проверяете на этом хуке статус, если approve или 1, тогда делаете отправку письма.
    Ответ написан
    Комментировать
  • Рассчет отступов в пагинации?

    Stalker_RED
    @Stalker_RED
    На самом деле достаточно четырех if-ов и одного цикла. Правда условия у этих if-ов довольно развесистые.

    Сперва вычисляем какие номера страниц видны в начале, в конце и в середине
    $start = 1 + $indent;
    $end = $total - $indent;
    $mid_start = $current - $indent;
    $mid_end = $current + $indent;


    Первый и последний if-else выводят активную или неактивную стрелочку ← →
    (вместо неактивной, можно и вообще не выводить)

    Цикл пробегает по всем страницам, проверяет не текущая ли это страница, или страница попадает в видимый диапазон, и нужно вывести кликабельную ссылку или троеточие.

    лапша c кусками бутстрапа
    public static function renderPaginator($total, $current, $indent = 3)
        { 
            $start = 1 + $indent;
            $end = $total - $indent;
            $mid_start = $current - $indent;
            $mid_end = $current + $indent;
            
            ?>
        
        <nav style="margin: 0 auto;">
            <ul class="pagination">
                <?
                
                $skip1 = ($start > $current || $current > $end);
                
                if ($current == 1) { // previous
                    ?><li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li><?
                } else {
                    ?><li><a href="?page=<?=($current-1)?>" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li><?
                }
                for ($p = 1; $p <= $total; $p++) { // each page
                    if ($p == $current) {
                        ?>
                        <li class="active"><a href="#"><?=$p?> <span class="sr-only">(текущая)</a></li><?
                    } else {
                        
                        if($p < $start
                        || ($p > $mid_start && $mid_end > $p)
                        || ($p > $end)
                        || ($p == $start && $p == $mid_start)
                        || ($p == $end && $p == $mid_end)
                        ) {
                        ?>
                        <li><a href="?page=<?=$p?>"><?=$p?></a></li><?
                        } elseif($p == $start || $p == $end) {
                        ?>
                        <li class="disabled"><a href="#">...</a></li><?
                        }
                    }
                }
                if ($current == $total) { // next
                    ?><li class="disabled"><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li><?
                } else {
                    ?><li><a href="?page=<?=($current-1)?>" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li><?
                }
                ?>
      
            </ul>
        </nav>    
        <?
        }

    Ответ написан
    Комментировать
  • Подбор роутера?

    - должен накрывать хорошим сигналом метров 30 - 40 пробивать 1-2 кирпичных стены и пару стен из говна и веточек

    Для подбора беспроводного роутера надо знать как минимум - площадь на которой необходимо обеспечить связь, план перекрытий, материал перекрытий, обстановку в эфире, характеристики клиентских устройств, и требуемое качество связи.


    В данном случае будет лучше рассмотреть несколько ТД в режиме WDS. Например приобрести 2-3 точки доступа (возможно MikroTik RB951Ui-2HnD, даже при pptp/l2tp подключении хорошая производительность) и объединить их в единую сеть Wi-Fi.
    Ответ написан
    3 комментария
  • Как правильно доработать код капчи?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    setcookie("coded");
    Программист: Дорогой php, установи, пожалуйста, пользователю куку с кодом coded и дефолтным значением в виде пустой строки.
    php: Слушаю и повинуюсь.

    $_COOKIE['coded']= $code_capcha;
    Программист: Дорогой php, запиши в эту куку значение капчи.
    *Демонический смех, отблески адского пламени*
    php: Муахаха, он думает, что таким образом пишет в куку, а на самом деле просто обновляет глобальный массив с данными прошлых кук. Я просто выкину этот массив при окончании скрипта и пользователь получит пустую куку, которую программист установил изначально! Гениальный план!
    Ответ написан
    Комментировать
  • Какую систему учета рабочего времени удаленного разработчика использовать?

    @FoxInSox
    Не так давно вышла довольно удобная модель для тотального контроля разработчика:
    slave-cage.jpg
    В ней ему довольно удобно сидеть, и благодаря большим отверстиям его можно кормить и мыть не выпуская из клетки. Так же можно видеть что происходит внутри даже издалека, и при малейшем подозрении можно просто накричать, воткнуть в него что-либо острое, или бросить что-либо тяжелое.
    Ответ написан
    1 комментарий
  • Что сказать верстаку который верстает так формы?

    andykov
    @andykov
    Shit happens
    Распечатать сие творение на бумагу, схватить за шкирку и тыкать как котенка приговаривая "что это за говно".
    Если человек далеко, забить и искать нового исполнителя, этому товарищу еще многому нужно учится.

    Объяснять ему как делать правильно. Зачем это вам? Вы заказчик, он исполнитель, работа не устраивает - давай до свидания. Само собой указать на ошибки нужно, а-ля аргументы, может человек в следующий раз исправится.
    Выдавать такой шлак да еще и просить за это деньги, это не уважение к заказчику. Как говорится, не знание закона не избавляет от ответственности.
    Ответ написан
    1 комментарий
  • Что сказать верстаку который верстает так формы?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    Просто не опытный! Объясните ему кто он, Вася, такой и почему это плохо!
    За свою карьеру я заметил 2 типа версталищика.
    - это тот, который смотря на макет видит в нем код в голове, целиком, видит как он будет щас его писать, где тег form, где div, а где и input. Сразу знает как верстать кастомный input file исходя из примера. Им движет опыт!

    - это тот, который в макете видит только картинку, и верстает её так, что бы визуально макет был похож на картинку. Поэтому и не парится про семантику, ибо уверен, что раз отображается как в макете, значит все ок! Им движет хз что!
    Ответ написан
    3 комментария
  • Что сказать верстаку который верстает так формы?

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

    в 2015 так верстать,ппц зашквар
    Ответ написан
    Комментировать
  • Какие есть стартовые темы для WordPress?

    zooks
    @zooks
    Frontend
    Ответ написан
    Комментировать
  • Поставить защиту на плагин WordPress?

    rOOse
    @rOOse
    Frontend developer
    Лучше делайте light и pro версии, в light основной функционал - бесплатен, в pro плюшки - платный
    Ответ написан
    1 комментарий