Задать вопрос
  • Как в Advanced Custom Fields вывести 3 ссылки через "Group"?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте, если у вас есть группа some_group с 3-мя полями first, second, third, то для вывода ссылок можно использовать следующий код:
    $some_group = get_field('some_group'); 
    //Переменная $some_group это ассоциативный массив, 
    //где ключ равен названию поля, а значение элемента массива 
    //равно значению внутри поля
    
    $link1 = $some_group['first'];
    $link2 = $some_group['second'];
    $link3 = $some_group['third'];


    Чтобы посмотреть структуру любого массива и понять как обращаться к его элементам я обычно использую
    print_r($some_array);
    Ответ написан
    Комментировать
  • Откуда отступ сверху у body?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте. Скорее всего это верхний марджин у первого вложенного элемента
    Ответ написан
    Комментировать
  • Можно ли с одного основного шаблона подключать разные шаблоны по условию?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте, да такое возможно, надо только правильно подобать условные тэги (https://wp-kama.ru/id_89/uslovnyie-tegi-v-wordpres...). Единственный момент, я бы цикл WordPress разметил внутри основного шаблона и проверку бы делал внутри цикла.

    Несколько примеров
    <?php
      while ( have_posts() ): the_post();
       //Вывод постов на главной странице
       if ( is_home() ) { ... }
    
       //Вывод шаблона одной записи
       if ( is_single() ) { ... }   
    
      //Выбор шаблона для конкретной записи
      if ( $post->ID == 15 ) { ... }   
    
      //Выбор по шаблону страницы
      if ( is_page_template('my_page.php') ){ ... }
    
      endwhile;
    ?>
    Ответ написан
    Комментировать
  • Как системно и быстро обучаться программированию веб?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Способ 1. Хотите быстрой прокачки — начните пилить свой проект. Только не для галочки, а так чтобы цепляло.

    Приведу два примера. 1) Как преподавателю мне хотелось сделать площадку для себя и студентов, сайт где можно выкладывать ДЗ и результаты выполнения, ставить оценки и писать комментарии. Так я познакомился с WordPress и сделал первый шаг в веб-разработку. Лет 5 назад с друзьями очень увлекались квестами в реальности. В какой-то момент захотелось сделать сайт про свои успехи и агрегатор квестов. На тот момент я уже занимался сайтами, но такого интенсивного потребления информации как в момент запуска сайта не было ни до ни после.

    Способ 2. Найдите тусовку с вашими интересами. Я говорю про митапы веб-разработчиков, найти можно «кружки» по люобому направлению, языку программирования или фреймворку. Сейчас с живыми встречами напряженка, но можно много интересного найти онлайн. Общение, обмен опытом, коллаборация и т.д.

    Способ 3. Если вам уже есть что показать — попробуйте пойти на стажировку в крутую компанию. "Крутость" в данном случае зависит от ваших амбиций и текущей локацией. Получите бесценный опыт и понимание как оно в жизни устроено. С таким багажом будет проще выстраивать карьеру.

    Способ 3б. Если стажировка кажется амбициозным проектом — возьмите заказ на фрилансе. Тут множество вариантов от условного Кворка, до поспрашивать по знакомым
    Ответ написан
    8 комментариев
  • Как создать выезжающий блок, занимающий пространство?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Если у блоков один родитель, то задача отлично решается flexbox'ом.
    Пример подобной реализации https://codepen.io/solidcreature/pen/mdEZbNr
    Ответ написан
    Комментировать
  • Как посадить многостраничный сайт на wordpress?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте, Дмитрий.
    Одно из простых решений — использовать шаблоны страниц. Чтобы создать новый шаблон страницы достаточно в теме создать новый php-файл и добавить в начале следующий код: <?php //Template Name: Название шаблона. Шаблон автоматически станет доступен для выбора при редактировании / создании страницы.

    Таким образом можно создать шаблоны для всех разделов многостраничного сайта. По умолчанию в WordPress у страницы только 2 основных поля для заполнения Заголовок и Контент. Но с помощью плагина Advanced Custom Fields можно добавить дополнительные поля, чтобы удобно было управлять контентом для разных шаблонов.
    Ответ написан
    9 комментариев
  • Как вывести данные нескольких пользователей полученных с помощью ACF?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    В предыдущем варианте у нас был массив с данными пользователя. Если пользователей указано несколько, то get_field вернет массив, каждый элемент которого является массивом. Для перебора элементов массива воспользуемся циком foreach. Получим следующий код:

    <?php 
       $current_user = wp_get_current_user(); 
       $managers = get_field('your_manager', 'user_' . $current_user->ID); 
    
       foreach($managers as $usermassive) {
          echo '<ul>';
            echo '<li>' . $usermassive['user_firstname'] . ' ' . $usermassive['user_lastname']  . '</li>';
            echo '<li>' . $usermassive['user_email'] . '</li>';
          echo '</ul>';    	
       }
    ?>
    Ответ написан
    Комментировать
  • Стоит ли становиться верстальщиком в 2021 с последующим ростом в веб-разработчика ,веб-дизайнера?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте. Если вам понравилось верстать — развивайтесь в данном направлении, хороший исполнитель будет востребован всегда. Вариантов куда двигаться после того как освоите верстку ооочень много. Навскидку несколько направлений

    1) Остаться верстальщиком и специализироваться на сложных дизайнерских макетах, где нужна PixelPerfect-верстка,поддержкой любых устройств и браузеров

    2) Изучить несколько js-библиотек и добавить в свои возможности интерактив, анимацию при прокрутке, эффектые слайдеры нестандартные и вот это все. Для этого не обязательно становиться программистом, достаточно изучить документацию и практиковаться
    Примеры библиотек
    scrollmagic.io
    https://scrollrevealjs.org/
    https://masonry.desandro.com
    https://kenwheeler.github.io/slick/
    https://github.com/artpolikarpov/scrollyeah

    3) Изучить фреймворк, например Bootstrap 4 или Bulma. Чтобы ускорить свою работу, раз и получать заказы конкретно под эти фреймворки, два.
    https://getbootstrap.com/
    https://bulma.io/

    4) Научиться интегрировать вашу верстку с популярными CMS. И вот вы уже делаете не просто статическую верстку а сайты целиком.

    5) Начать изучать актуальный стек технологий, чтобы стать фронт-енд разработчиком.

    6) Плюнуть на верстку, начать заниматься веб-дизайном и собирать готовые сайты с помощью конструкторов (тильда, webflow, readymag, wordpress + elementor, etc), знания html+css тут только помогут
    Ответ написан
    2 комментария
  • Почему не работает редирект в вордпресс?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Чтобы редирект работал он должен вызываться до get_header(), возможно в этом проблема
    Ответ написан
  • Как скрыть некоторые значения из массива?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте.
    В вашем случае код должен выглядеть несколько по-другому

    <?php 
        $current_user = wp_get_current_user(); 
        $usermassive = get_field('your_manager', 'user_' . $current_user->ID); 
    
        echo '<ul>';
          echo '<li>' . $usermassive['user_firstname'] . ' ' . $usermassive['user_lastname']  . '</li>';
          echo '<li>' . $usermassive['user_email'] . '</li>';
        echo '</ul>';    	
    ?>

    Указанный код выведет в первой строке Имя и Фамилию и почту во втором элементе

    Если вам нужен логин, то конструкция будет сложнее, так как в $usermassive этих данных нет
    <?php
        $manager_id = $usermassive['ID'];
        $manager_data = get_userdata($manager_id);
        $manager_login = $manager_data -> user_login;
    Ответ написан
    6 комментариев
  • Как загрузить картинки WordPress не меняя пути в коде?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте, есть 2 варианта ответа на ваш вопрос.

    Первый вариант решения неправильный, но в точности отвечает на ваш вопрос. Допустим у вас все картинки расположены в папке images и в верстке прописаны относительный пути <img src="/images/image_1.jpg">, тогда можно разместить папку images в корне сайта и, по идее, должно заработать. Важно, это очень кривой способ, нет адекватных причин к нему прибегать.

    Второй вариант. Разделить картинки на 2 большие категории. Первая категория -- элементы верстки и дизайна, то без чего сайт не будет соответствовать дизайну (иконки, графические элементы и т.д.). Такие картинки -- нужно перенести в папку images вашей темы. Картинки, которые относятся к контенту -- придется загружать в медиа-библиотеку.

    Коллега выше предложил использовать функцию get_template_directory_uri(), c этой функцией все хорошо, но код получается громоздким, я обычно делаю обертку, добавляя следующую функцию в functions.php:
    function theme_image($image) {
      $image_url = get_template_directory_uri() . '/images/' . $image;
      echo  $image_url;
    }

    Код в верстке тогда становится лаконичным:
    <img src="<?php theme_image('image_1.jpg'); ?>">
    Ответ написан
  • /deletethis/deletethis?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Добрый день! Во-первых, респект вашей целеустремленности. Плюс задаете правильные вопросы.

    Получать высшее образование нужно по нескольким причинам. Первая -- социальная, чаще всего в институте люди находят друзей и будущих коллег по работе. Там формируются социальные связи, которые будут помогать вам в течение дальнейшей жизни. Вторая формальная, можно быть крутым специалистом-самородком, но в крупных IT-компаниях вас отсеят еще на уровне HR-отдела, даже не пригласив на собеседование. Третья, банальная -- отсрочка от армии.

    Я вижу 2 принципиальных стратегии по выбору ВУЗа и учебы в нем. Первая -- выбрать крутой ВУЗ (МГУ, Физтех, Буманка, МАИ...) и идти туда именно за знаниями и прокачкой. Чтобы в будущем быть не линейным программистом, а системным архитектором. Второй вариант -- пофиг куда, для галочки и отсрочки от армии. Тут самое главное соблюсти баланс, чтобы не выкинули из института и хватало времени на работу. Ваши текущие навыки, судя по описанию, это оверкил для 99% учебных заведений. Сложно будет учиться в ситуации если преподаватель знает меньше вас.

    В вашем вопросе вы не рассматриваете еще один вариант. Пойти на стажировку в IT-компанию. Во-первых это переход от теории к практике. Во вторых это понимание и изучение изнутри бизнес-процессов и работы в команде. То, чего не сможет дать ни один ВУЗ. А через нескольких месяцев стажировки можно и работу найти. Чтобы за год-полтора наколотить достаточно, чтобы не идти в армию.
    Ответ написан
    Комментировать
  • Подключение скриптов в WordPress?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте. Здесь должны помочь условные теги WordPress в частности проверка на конкретную страницу или шаблон.

    Допустим, Слик слайдер нужен только на странице c шаблоном page-slider.php, тогда код будет выглядеть следующим образом:

    <?php
        add_action('wp_enqueue_scripts', 'mk_scripts', 'mk_scripts_slick');
        function mk_scripts() {
            wp_enqueue_style('mk-style', get_stylesheet_uri());
            wp_enqueue_script('mk_scripts', get_template_directory_uri() . '/assets/js/app.js', array(), null, true);
    
            if (is_page_template('page-slider.php')):
              wp_enqueue_script('mk_scripts_slick', get_template_directory_uri() . '/assets/js/slick.js', array('jquery'), null, true);
            endif;
        };
    ?>
    Ответ написан
    Комментировать
  • Как в wordpress добавлять или редактировать элементы html?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте. Подобную можно решить с помощью плагина Advanced Custom Fields. В нем очень легко настроить интерфейс в котором вы бы могли задавать Value Option и Содержание каждого DIVа и привязать это к конкретной странице или шаблону.

    1) Устанавливаете плагин Advanced Custom Fields
    2) Создаете новую группу полей и привязываете ее к шаблону или конкретной странице
    3) Создаете нужные поля. Например вот так:
    value_1, option_1, content_1
    value_2, option_2, content_2
    ...
    value_n, option_n, content_n

    В интерфейсе редактирования страницы это будет выглядеть вот так:
    5ffb500be0337726131672.png

    4) В шаблоне страницы меняете статический код на html + вставки php
    Было:
    <select>
      <option value="moscow">Москва</option>
      <option value="piter">Санкт-Петербург</option>
      <option value="kazan">Казань</option>
    </select>
    <div class="moscow">Что-то о Москве...</div>
    <div class="piter">Что-то о Питере...</div>
    <div class="kazan">Что-то о Казани...</div>


    Стало:
    <select>
      <option value="<?php the_field('value_1'); ?>"><?php the_field('option_1'); ?></option>
      <option value="<?php the_field('value_2'); ?>"><?php the_field('option_2'); ?></option>
      <option value="<?php the_field('value_3'); ?>"><?php the_field('option_3'); ?></option>
    </select>
    <div class="<?php the_field('value_1'); ?>"><?php the_field('content_1'); ?></div>
    <div class="<?php the_field('value_2'); ?>"><?php the_field('content_2'); ?></div>
    <div class="<?php the_field('value_3'); ?>"><?php the_field('content_3'); ?></div>


    Специально не стал использовать циклы, чтобы изменения в коде были более наглядны. Функция the_field() позволяет вывести в шаблоне значения любого поля, заданного на странице.
    Ответ написан
    3 комментария
  • Как не в базовой странице wordpress сделать цикл для вывода постов?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте. Тут есть несколько вариантов
    1) Если у вас статьи -- кастомный тип записи, например article, то в этом случае будет достаточно переименовать articles.php в archive-article.php. Вордпресс сам подхватит данный шаблон и будет его использовать для страницы вывода записей типа article.

    2) Если статьи у вас -- это обычные записи (post). То при условии, что внутри шаблона article.php вы используете цикл Вордпресса, то можно переименовать article.php в archive.php и записи будут выводиться с использованием вашего шаблона. Не забудьте в настройках сайта указать страницу вывода записей.

    3) Если варианты 1 и 2 вам не подходят. Тогда для вывода записей используйте класс wp_Query. Его синтаксис очень похож на стандартный цикл, но позволяет вывести именно то, что вам нужно в конкретном шаблоне.
    Подробнее о wp_Query на сайте wp-kama.ru
    Ответ написан
    Комментировать
  • Как добавить формы подписки в виджет?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте, шорткод ContactForm 7 отлично работает в виджете Текст.
    Ответ написан
    Комментировать
  • Как сделать правильный обратный счетчик и появление контента?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте. jQuery запускается в WordPress в compatibility mode и $ не работает. Поэтому простое копирование решений из интернета часто не помогает. Судя по логу, это ваш случай.

    Как обойти #1
    jQuery(document).ready(function($){
      //Код из интернета с использованием jQuery
    });


    Как обойти #2
    Обычно делаю проще и перед кодом с $ пишу следующую строчку
    $ = jQuery;
    Ответ написан
  • Как рациональней выводить баннеры с возможностью менять из админки?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте. Тут есть несколько вариантов
    1) Если в вашей теме предусмотрены сайдбары в нужных местах, вполне могут подойти виджеты. Для этого будет достаточно сформировать html-код и вставить его в нужный сайдбар.

    2) Второй вариант использовать записи, как контейнеры для баннеров. Например, можно использовать свойство sticky (прилепленный пост), для вывода именно рекламных баннеров. Или задать постам с рекламой опредленный формат вывода, который вы не будете использовать для обычного контента. Скорее всего потребуется допилка темы, или, как минимум, изменение CSS.

    3) Добавить настройки в Кастомайзер или добавить ACF-поля. В этом случае потребуется редактировать шаблон главной страницы. Кастомайзер более нативное решение, но требует больше знаний / навыков разработки под Вордпресс. Под ACF -- написал несколько заметок, на решение схожей с вашей задачи: wpfolio.ru/category/acf
    Ответ написан
    1 комментарий
  • Как вывести html-сраницу с динамическими данными?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Добрый день. Чтобы верстка не ехала при масштабировании -- замените все размеры: ширину, высоту, отступы на % или vw (единицы vieport width). Получите резиновую верстку. Вариант не идеальный, но вполне рабочий.

    Для удобства пересчета в проценты можно использовать Фотошоп:
    • Создайте документ, соответствующий вашему разрешению и скомпонуйте объекты
    • Включите линейки (ctrl + R)
    • Переключите единицы измерения на Проценты (для этого кликнете по линейке правой кнопкой мышки)
    • Включите панель Info, чтобы видеть актуальные размеры
    Ответ написан
    Комментировать
  • Можно ли автоматизировать процесс обработки фото в фотошопе?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте, действительно в фотошопе есть пакетная обработка, коллега написал выше.

    Но прекрасный просмотрщик картинок Fast Stone image Viewer делает это быстрее и проще
    Ссылка на саму программу: https://www.faststone.org/FSViewerDetail.htm
    Ответ написан
    Комментировать