Ответы пользователя по тегу WordPress
  • Как добавить свою кнопку в wordpress?

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

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

    Допустим, текст статьи у вас содержится внутри дива с классом content, тогда ваша задача сводится к следующему

    1) В CSS добавить новый стиль, для случая когда у дива с классом content есть дополнительный класс, например font__big. Получится что-то типа этого
    .content.font__big { 
         font-size: 18px; 
      }


    2) Дальше нужно добавить кнопку и немного js-кода, чтобы при нажатии на кнопку для элементы с классом
    .content добавлялся класс .font__big
    Пример такого кода с использованием jQuery:
    jQuery(document).on('click', '.класс-кнопки', function() { 
    		jQuery('.content').toggleClass('font__big');
    	} );
    Ответ написан
    Комментировать
  • Плохая структура ссылки вордпрес,почему?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Скорее всего проблема в самой ссылке в шаблоне страницы. Если я правильно понял вопрос тогда:

    // $manager_id - это id записи типа менеджер, 
    <a href="<?php echo get_the_permalink($manager_id); ?>">Имя Менеджера</a>
    Ответ написан
    Комментировать
  • Как улучшить код карусели bootstrap в wordpress с acf repeater?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    В ACF для работы с полями типа Repeater есть полезная функция get_row_index() — она выводит текущий номер «строки». Важно для первой строки get_row_index() возвращает 1, а не 0 как это принято в программировании.

    Тогда получается, что этот кусок кода можно упростить:
    <?php
      $slideto++;
      if ($slideto == "0") {
      ?>
      
      <div class="carousel-item active">
        <?php
           }else{
        ?>
        <div class="carousel-item">
         <?php  }  ?>


    Можно упростить:

    <div class="carousel-item <?php if (get_row_index() == 1 ) echo 'active'; ?>">
    Ответ написан
    Комментировать
  • Как создать функцию для вывода шаблона произвольного типа записи?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте.
    В Вордпрессе есть нативная функция для подключения файлов темы:
    get_template_part('content'); //выведет содержимое файла content.php
    get_template_part('content','single'); //выведет содержимое файла content-single.php
    //в случае если файл content-single.php отсутствует функция подгрузит content.php
    get_template_part('parts/slider','portfolio'); //выведет файл slider-portfolio.php из папки parts

    Подробно о функции:
    https://wp-kama.ru/function/get_template_part

    =========

    В Вордпрессе есть такое понятие как иерархия шаблонов
    https://codex.wordpress.org/%D0%98%D0%B5%D1%80%D0%...

    Т.е. правильно названные файлы будут автоматически подружатся в нужных местах. Если у вас есть кастомный тип записей activities, то для создания отдельного шаблона страницы activities -- вам достаточно создать файл single-activities.php для создания отдельного шаблона архива archive-activities.php
    Ответ написан
    Комментировать
  • Создание собственных блоков без знаний php - для популярных билдеров wordpress. Реально?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    На счет билдеров не уверен, не пробовал. Если вы умеете верстать, то неплохим вариантом могут стать Advanced Custom Fields PRO или плагины серии Toolset (Types/Views/Forms и т.д.).

    Т.е. вы получаете свой настраиваемый конструктор под конкретный дизайн / проект:
    5be95a2fadf3d263394783.jpeg5be95a1b63aa6833019073.jpeg

    Если инетерсно -- могу написать подробнее
    Ответ написан
  • Какова средняя стоимость услуги разработки WordPress сайта?

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

    За 10 000 рублей вы сможете найти человека, который установит вам Вордпресс и купленные вами плагины. Надо быть готовой к тому, что на этом этапе сайт будет выглядеть и работать в лучшем случае на троечку.

    В районе 40 000- 50 000 рублей возможно найти человека, который сделает сайт целиком при условии, что функционал плагина бронирования перекрывает ваши нужды, если нет, то цена может увеличиваться кратно.

    от 100 000 тысяч можно уже искать команду, чтобы пройти полный цикл: составление ТЗ, разработку дизайна, программирование функционала, допилку деталей, тестирование, запуск.
    Ответ написан
    Комментировать
  • Как перевести свою тему на полное управление через админ панель Wordpress?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Евгений, если вы в Москве -- приходите 15 ноября на WP Moscow #4 (встречу WordPress-разработчиков в Москве), один из докладчиков как раз выступит на интересующую вас тему: https://vk.com/wall-167969562_67

    Участие бесплатное
    Ответ написан
    Комментировать
  • Как в Wordpress вывести список страниц с дополнительным полем вместо названия страницы?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Код представленный ниже нужно вставить в functions.php вашей темы. Это функция, которая добавляет шорткод [cities], который вы можете поставить там где нужно. У шорткода есть два атрибута parent, чтобы указать ID родительской страницы и key - чтобы можно было вывести не только town_name, но и любое другое поле

    Вариант применения: [cities parent=123]

    // Add Cities Shortcode
    function cities_shortcode( $atts ) {
    
    // Список возможных параметров шорткода: родительская страница и имя поля, значение которого нужно вывести
    	$atts = shortcode_atts(
    		array(
    			'parent' => '',
    			'key' => 'town_name'
    		),
    		$atts
    	);
    
    	// Задаем параметры WP_Query, чтобы получить список всех нужных страниц в одном объекте
    	$args = array(
    	  'post_type'              => array( 'page' ),
    	  'post_status'            => array( 'publish' ),
    	  'post_parent' => $atts[parent]	
    	);
    
    	//Объект WP_Query	
    	$page_query = new WP_Query( $args );
    	
    	//Обертка для всех элементов, которые получатся, можно вставить свои классы
    	$result_start = '<ul class="cities-list">';
    	$result_end = '</ul>';
    	
    	//Цикл, выводим все города
      	while ( $page_query->have_posts() ):
        	$page_query->the_post();
    		$post_id = get_the_ID(); //ID Страницы
    		$city_name = get_post_meta( $post_id, $atts[key], true ); //Название города
    		$result = $result  . '<li class="cities-item"><a href="' . get_the_permalink() . '">' . $city_name . '</a></li>'; //Название города, ссылка, + обертка из <li>
      	endwhile;		
    	
    	wp_reset_postdata();	
    	
    	return $result_start . $result . $result_end;
    }
    
    add_shortcode( 'cities', 'cities_shortcode' );
    Ответ написан
    5 комментариев
  • Как задать бекграунд div'у в кастомных полях ACF?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    В настройках поля imageback можно указать будет ли отдаваться весь массив данных картинки или только url

    Вариант с Массивом (дефолтный):
    <div class="page-title" style="background-image: url(<?php $image = get_field('imageback'); echo $image[sizes][large] ?>);">

    Вариант с URL:
    <div class="page-title" style="background-image: url(<?php the_field('imageback') ?>);">
    Ответ написан
    Комментировать
  • Как правильно подгрузить свои стили и js в уже в готовый шаблон wordpress?

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

    1. Техника безопасности. Перед началом редактирования сайта -- сделайте полный бэкап, например с помощью WP All in One Migration, чтобы в случае чего полностью откатиться назад.

    2. Если ваш сайт работает на основе готовой темы — имеет смысл перед доработкой / внесением изменений (создание страницы с отдельным шаблоном — это именно оно) создать дочернюю тему. Это позволит а) разделить ваши доработки и то что было до вас б) при обновлении темы изменения не исчезнут в) всегда можно отключить дочернюю тему, если что-то сломали
    Плагин для создания дочерних тем: https://wordpress.org/plugins/orbisius-child-theme...

    3. После того как вы создали дочернюю тему. Вам нужно создать новый файл шаблона. Например page-main.php (название файла, в целом, не важно). И главное в этом файле в первой строчке написать <?php //Template Name: Название вашего шаблона ?>. В этом случае файл будет восприниматься как шаблон страницы и в интерфейсе редактирования страницы у вас появится возможность выбрать этот шаблон

    4-А. Если ваш дизайн никак не бьется с основным дизайном сайта, можно в файле page-main.php после первой строчки просто вставить целиком верстку.

    4-Б. Если на вашей странице шапка и подвал такие же как на сайте, тогда ваш файл будет выглядеть так

    <?php //Template Name:  Название вашего шаблона ?>
    <?php get_header(); ?>
    
    Здесь может идти любая ваша верстка
    
    <?php get_footer(); ?>


    Для правильной установки ваших скриптов и стилей -- скопируйте их в папку с темой и подключите их, прописав в файле functions.php вашей дочерней темы как это описано у Евгения выше

    5. Создайте страницу в интерфейсей WordPress и выберите для нее созданный шаблон. Посмотрите, если результат правильный -- назначьте эту страницу главной
    Ответ написан
    Комментировать
  • Статический сайт и динамический блог? легкие динамический страницы?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Скорость загрузки это проблема «обвеса» в виде тем и плагинов, а не самого WordPress.

    Для вашей задачи подойдут стартовые темы на основе Bootstrap. «Стартовая тема» означает, что в ней нет лишнего оформления, и содержится только базовый функционал WordPress и необходимые файлы. Такая тема предназначена для дальнейшего изменения и доработки под конкретную задачу.

    Посмотрите на стартовую тему _Tk. Установив тему вы получите все преимущества как WordPress так и Bootstrap

    • Сетка, компоненты и модули Bootstrap уже установлены на сайте
    • У вас уже созданы отдельные файлы под Шапку, подвал, запись блога, страницу, архивы и т.д.
    • Для меню, виджетов, наполения страниц и много другого уже есть админка
    • Вы можете воспользоваться плагинами кеширования для ускорения загрузки сайта
    Ответ написан
    Комментировать
  • Как загрузить изображение из админки в карусель на wordpress?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Тут выше правильно отметили ACF PRO, он крайне удобен для создания интерфейса кастомных слайдеров
    Лицензия Advanced Custom Fields PRO стоит 25$, это разумные деньги если планируете использовать весь функционал

    В вашем случае, если нужно добавлять только картинки в слайдер, можно пойти проще.
    1) С помощью бесплатного плагина Advanced Custom Fields (без приставки ПРО) создайте группу кастомных полей типа Изображение. Для простоты в настройках поля укажите Ссылка на файл.
    slider-image-1
    slider-image-2
    ...
    slider-image-10 (Делаю допущение, что в слайдере не более 10 фото)

    2) Назначьте созданную группу для шаблона страницы или типа записи, где у вас выводится слайдер. На странице редактирования страницы у вас появятся 10 полей для вставки изображений, добавьте их.

    3) В шаблоне, где у вас прописан статический слайдер, найдите див, который является оберткой для слайдов и вместо html-кода нескольких слайдов вставьте php-код, чтобы соединить слайдер с acf-полями:

    <?php
    //Счетчик, чтобы пройти все 10 картинок
    $counter = 1; 
    
    //Создаем цикл, чтобы обойти все десять полей
    while ($counter < 11):
       //Собираем название acf-поля для каждой итерации
       $acf_field = 'slider-image-' . $counter; 
     
       //Проверяем, что картинка в поле загружена и только в этом случае выводим слайд   
      if (get_field($acf_field)): 
         //Здесь начинается верстка вашего слайда, у меня условный пример
         echo '<div class="slider-item">'; 
         echo '<img src="' . get_field($acf_field) . '">';
         echo '</div>';
      endif; 
    
    //Увеличиваем счетчик на 1
    $counter++;
    endwhile;
    ?>
    Ответ написан
    4 комментария
  • Хороши ли корструкторы для создания сайта?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Плюсы конструкторов
    • Возможность сделать проект без дизайнера и программиста
    • Широкий набор блоков и возможностей
    • Почти все конструкторы имеют дополнения и расширения
    • Наборы готовых шаблонов
    • Удобство для пользователя для дальнейшего использования / наполнения


    Минусы конструкторов
    • Если мало опыта и нет вкуса в результате получится говно
    • Намного сложнее делать сайт по готовому дизайну, так как нужно создавать свои или переназначать существующие блоки
    • При прочих равных сайт на конструкторе более тормозной чем хорошо написанный сайт под конкретную задачу
    • Удобство для пользователя для дальнейшего использования / наполнения


    Если вы начинающий веб-разработчик, то нет ничего плохого в использовании конструкторов. Полезно разобраться в одном из популярных конструкторов (скажем Elementor или Visual Composer), это поможет сократить время на разработку/наполнение в некоторых случаях.

    Но это не полноценная замена умению программирвоать
    Ответ написан
    Комментировать
  • Не выводится php-код ниже цикла while, в чем проблема?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    У вас ошибка в синтаксисе PHP, соответственно все что ниже не обрабатывается

    Навскидку ошибка в этой строке:
    echo "<a class='popup-link' href=" . $field_value . "><img src=" . $field_value . "></a>";


    Попробуйте так:
    echo '<a class="popup-link" href="' . $field_value . '"><img src="' . $field_value . '"></a>';
    Ответ написан
    Комментировать
  • Как можно реализовать данное на Wordpress'e?

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

    Если первый вариант вам не подойдет и нужно, чтобы все загружалось и фильтровалось на одной странице с красивой анимацией — подключите к сайту Isotope (https://isotope.metafizzy.co/)

    Вот пример реализации с применением Изотопа:
    fithitcompany.ru/partners
    Ответ написан
    Комментировать
  • Как выводить по определенной структуре посты в WP?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Здравствуйте
    Для начала пример стандартного цикла Вордпресса
    <div class="items">
    <?php while (have_rows()): the_row(); ?>
      <div class="item"></div>
    <?php endwhile; ?>
    </div><!-- items -->


    Теперь вариант если нужно вывести по 6 штук
    echo '<div class="items">';
    //Зададим переменную, которая будет считать количество элементов 
    $counter = 1; 
    
    //Стандартный цикл Вордпресс
    while (have_rows()): the_row(); 
      //Сделаем проверку на начало группы из 6-ти элементов 
      if ($counter == 1): 
        //Выводим открывающий тег группы
        echo '<div class="items-wrapper">'; 
      endif;
    
      //Выведем элемент в цикле
      echo '<div class="item"></div>';
    
      //Сделаем проверку на конец группы из 6-ти элементов
      if ($counter == 6): 
        //Выводим закрывающий тег группы
        echo '</div><!-- items-wrapper -->'; 
        //Если группа закончена, приводим счетчик опять к единице
        $counter = 1; 
      else: 
      // Увеличиваем счетчик на единицу после каждого элемента 
      $counter++; 
      endif;
    endwhile; 
    
    //Если цикл вордпресс закончился, а группа не завершена добавляем закрывающий див
    if ($counter != 1): 
     echo '</div><!-- items-wrapper -->';
    endif; 
    
    echo '</div><!-- items -->';
    Ответ написан
  • Как сделать галерею с ограниченным количеством превью?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Вот нормальная галерея: fancyapps.com/fancybox
    Пример реализации: formuladoma74.ru/nedvizhimost/obekty-na-stadij-str...

    Как вариант может подойти вот этот плагин: https://www.wonderplugin.com/wordpress-lightbox/
    Ответ написан
    Комментировать
  • Почему по разному выводит латиницу и кириллицу?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Шрифт, который используется в теме не поддерживает кириллицу
    Ответ написан
  • Как вывести содержимое макета Advanced Custom Field?

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

    //get_field() — возвращает значение поля
    $param = get_field('field_name',$post_id);
    
    //the_field() — выводит значение поля в html
    the_field('field_name',$post_id);


    Вот только меня смущает название вашего блока, что-то здесь не так
    Ответ написан
    Комментировать