Ответы пользователя по тегу WordPress
  • Можно ли в Wordpress, упорядочить вывод постов по категориям (WP_Query)?

    @azerphoenix
    Здравствуйте!
    Для достижение нужного результата ыв можете исопльзовать 2 вложенных цикла. Первый получает термины нужной таксономии (рубрики), а второй выводит записи текущего термина через WP_Query
    Вот, пример кода - https://gist.github.com/DevinWalker/6fb2783c05b46a...
    Только подправьте под себя, чтобы первый цикл получал термины, а второй посты.
    Ответ написан
  • На чем писать шаблон wordpress в 2019?

    @azerphoenix
    Кстати, есть сайт, где можно бесплатно взять готовые шаблоны на vue angular react и т.д.
    А потом создать тему для ВП...
    https://www.creative-tim.com/bootstrap-themes/free
    Ответ написан
  • Фриланс-площадка на Wordpress, возможно?

    @azerphoenix
    Здравствуйте!
    Я как-то реализовывал подобное. Есть готовые темы.Например, taskerr
    https://www.appthemes.com/themes/taskerr/
    демо - https://demos.appthemes.com/?theme=taskerr
    система оплаты и т.д. имеется..
    из своего опыта скажу следующее:
    создать адекватную фриланс-площадку на ВП

    невозможно, если не написать плагин под свои задачи или если не создать сайт с нуля на фреймворках.
    Ответ написан
  • Личный Google analytics на каждую страницу Wordpress (Elementor)?

    @azerphoenix
    в чем проблема того, чтобы создать разный header для разных страниц? Правда, шаблоны для них тоже нужно сделать.
    Другой вариант к текущего header.php добавлять скрипты используя условные теги.
    Например,
    <?php if(is_page(ID-1)): ?>
    <!-- google analytics 1 -->
    <?php else if(is_page(ID-2)): ?>
    <!-- google analytics 2 -->
    <?php else: ?>
    <!-- google analytics 3 -->
    <?php endif; ?>
    Ответ написан
  • На WordPress такое можно сделать (каталог с рубриками, продуктами, закладками и перелистыванием)?

    @azerphoenix
    Здравствуйте!
    Есть плагин, чтобы создавать подобное на ВП.
    https://codecanyon.net/item/responsive-flipbook-pl...
    https://wordpress.org/plugins/interactive-3d-flipb...
    Первым плагином пользовался. Он умеет создавать "книжки" из jpeg. А еще есть другой плагин от этого разработчика, который работает с pdf.
    Пример работы первого плагина - Пример
    Ответ написан
  • Какой плагин WP подходит для сложного анкетирования?

    @azerphoenix
    Здравствуйте!
    Если вам нужно простое решение, то можно использовать следующие плагины:
    Contact Form 7 или ACF.
    Решение путем CF7
    Понадобятся плагины contact form 7 + contact form 7 conditional fields + contact form 7 database addon
    1-й плагин для создания формы, второй плагин для отображения/скрытия полей в зависимости от выбора пользователя (для РФ отображать города, области и т.д. РФ, для Беларуси свои города и т.д.), а 3-й плагин для того, чтобы при сабмите хранить все данные в БД, а не отправлять вам на почту.
    Естественный минус - вам самим нужно Страны, регионы, города (их принаддежность, т.е. логику отображения/ скрытия) добавить. Пример работы cf7 + cf7 conditional logic
    Пример - Исход нежелательной реакции - Выздоровление с последствиями (указать)


    Второй вариант с решением ACF тоже аналогичен предыдущему. Создаете кастомный тип записи (который будет создаваться при сабмите формы). Добавляете туда ваши кастомные поля со всей логикой (показать страницы, города и т.д.). Создаете страницу и добавляете туда acf_form()

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

    @azerphoenix
    судя по вашему коду и шорткодам вы используете плагин Visual Composer Premium или WPBakery Visual Composer.
    Вверху есть 2 кнопки Backend & Frontend editor. Нажмите на первой и вы переключитесь в режим виз. редактора
    Ответ написан
  • WordPress режет ссылки?

    @azerphoenix
    Могу сказать, что ВП по умолчанию не режет ссылки.
    Ищите конфликт плагинов или функцию обрезки ссылок в плагинах.
    Ответ написан
  • Как сделать h1 из блока на определенной страничке?

    @azerphoenix
    <?php if( is_page('ID') ): ?>
    <h1 id="top_info">Изделия для малышей ручной работы</h1>
    <?php else: ?>
    <div id="top_info">Изделия для малышей ручной работы</div>
    <?php endif; ?>

    https://codex.wordpress.org/Conditional_Tags
    Ответ написан
  • Перенос работающего сайта на WordPress?

    @azerphoenix
    Смотря, что за сайт, на чем он написан.
    А почитать можно на оф. сайте документации ВП.
    1) установка ВП
    2) подбор плагинов, которые нужно использовать при переносе
    3) создание темы для сайта (с сохранением предыдущего дизайна или без)
    4) перенос контента (парсинг, адаптация БД текущего сайта под ВП, использование плагинов или платных сервисов)
    5) проверка урлов и настройка 301 редиректов, если нужно
    6) проверка ошибок, дебаг, а дальше уже перенос на production
    Все зависит от исходного сайта. Если он на CMSб то относительно легче, так как имеются уже готовые плагины. Есть платные сервисы типа CMS2CMS. Можно спарсить материалы сайта и залить плагином WP All Import.
    В общем, разный подход...
    https://codex.wordpress.org/Theme_Development
    https://wp-kama.ru/
    https://cms2cms.com/
    Ответ написан
  • Нормально ли создавать шаблон для каждой страницы Wordpress??

    @azerphoenix
    /*
    Template Name: Архив новостей 
    Template Post Type: page
    */

    Вы сами указали, что это архив новостей.
    Если предположить, что Новости - это категория (рубрика, термин), то логичнее использовать шаблон специфичный для архивов и категорий.
    например,
    archive.php (для всех)
    category.php (для всех)
    category-novosti.php (для категории Новости).
    Если Новости это отдельный тип записи, то используйте шаблон
    archive-{custom_post_type}.php Например, archive-novosti.php

    Еще вчера в вашем предыдущем вопросе я написал, что для главной достаточно использовать шаблон front-page.php (если она статичная) или home.php (если она динамичная, т.е. выводятся последние записи блога)
    Как разобраться с шаблонами WordPress??

    Насчет кастомный полей ACF не заморачивайтесь вообще. Вы можете вставить их в любой шаблон темы, который назначите для текущей страницы или ВП выберет шаблоном для текущей страницы/записи/рубрики/таксономии с учетом иерархии шаблонов, о котором я также вчера писал.
    https://developer.wordpress.org/themes/basics/temp...
    Ответ написан
  • Страница «все посты» на Wordpress?

    @azerphoenix
    Здравствуйте!
    Не совсем понял, чего вы хотите достичь в конечном счете?
    Если я правильно понял, то вам нужно, чтобы все посты из всех типов постов были выведены на страницы, но при этом, чтобы они были сгруппированы по типу поста?
    Т.е.
    Тип поста 1
    запись 1 - типа поста 1
    запись 2 - типа поста 1
    Тип поста 2
    запись 1 - типа поста 2
    запись 2 - типа поста 2
    Тип поста 3
    запись 1 - типа поста 3
    запись 2 - типа поста 3

    Так?
    Если да, то вы можете создать любой шаблон с любым названием.
    Например, all-posts.php
    Добавить в него следующий код:
    // Template Name: Все записи
    Создать в админке любую страницу и в натсройках страницы (панель атрибутов назначить шаблон Все записи)

    Остается главная задача получить записи и сгруппировать по типу записей. Достигается это следующим образом:

    Пробегаетесь 2-мя циклами (цикл в цикле). Первый получает типы записей, второй получает записи текущего типа записи.

    Почти похожий пример - https://gist.github.com/DevinWalker/6fb2783c05b46a...
    Тут сперва получают все таксономии для типа записи, потом термины для каждой из таксономии, а потом записи для каждого термина.

    Только вам надо получить типы записей
    https://codex.wordpress.org/Function_Reference/get...
    https://wp-kama.ru/function/get_post_types
    а дальше по каждому типу записи используя WP_Query() получить записи
    Ответ написан
  • Как найти уязвимость на сайте?

    @azerphoenix
    Здравствуйте!
    1) Установите плагин WordFence и просканируйте сайт.
    2) Проверьте содержимое файла functions.php
    3) Если вы устанавливали премиум обнуленные плагины из неизвестных источников удалите их или хотя бы посмотрите, где они подключают вредоносный код.
    Ответ написан
  • Как разобраться с шаблонами WordPress??

    @azerphoenix
    Получается, что для каждой страницы нужно создавать page-(name).php и потом в админке выбирать у них шаблон?

    Нет необходимости. Изучите иерархию шаблонов.
    За вывод содержимого страниц отвечает index.php, если нет шаблона page.php
    Т.е. достаточно создать шаблон page.php, как он будет по умолчанию назначен для страниц.

    За вывод одиночной записи отвечает шаблон single.php
    За вывод архива или рубрики отвечает шаблон archive.php
    За вывод рубрики (категории) отвечает шаблон archive.php, если нет шаблона category.php
    За вывод главной страницы в зависимости от настроек (Настройки - Чтение - Главная статичная или выводить последние записи) могут отвечать шаблоны front-page.php (если статичная), home.php (если динамичная). А если нет этих шаблонов, то будет использоваться page.php и в случае отсутсвия последнего будет использоваться index.php
    https://developer.wordpress.org/themes/basics/temp...

    Создавать шаблоны page-{slug}.php single-{slug}.php page-[id].php single-[id].php и другие "уточняющие шаблоны" нужно, если вы хотите, чтобы шаблон заданной страницы отличался.

    В вышеупоянутых шаблонах нет необходимости выбирать их в админке, для страницы.
    Однако, можно создать шаблон с любым названием и добавить нужный заголовок
    // Template name: Мой новый шаблон
    И тогда вы сможете в админке выбрать его для нужной страницы/страниц
    Полезные ссылки - https://codex.wordpress.org/Theme_Development
    Ответ написан
  • Сразу на Wordpress или дизайн-вёрстка-wp?

    @azerphoenix
    Здравствуйте!
    Однозначно, все начинается с дизайна. Вопрос с версткой и с созданием темы уже задача фротн-энд разработчика.
    Могу сказать следующее - при наличии хорошей верстки, создание темы довольно простая задача. Есть конечно же свои сложности, когда есть верстка, но надо "подружить" ее с определенным плагином. Например, вукомерц. Но все решаемо. Также используйте кастомные поля (carbon fields или ACF).
    WP довольно простая система и для создания простой темы достаточно иметь простые знания рнр и умение читать документацию (на англ. или на русском)))) Не бойтесь экспериментов)
    Ответ написан
  • Как исправить надпись на странице wordpress?

    @azerphoenix
    Здравствуйте!
    Надпись может быть вставлена на страницу по-разному и соответственно, редактировать нужно соответственным образом.
    1) Скачайте тему, откройте локально любой файл текстовым редактором (например, NotePad++ или Sublimt Text 2). Проверьте поиск строки по ВСЕМ файлам темы. Если есть такая строка где-нибудь в шаблоне, то найдется.
    3) Строка может хранится в БД. Если она хранится в БД, то скорее всего есть в админке возможность смены строки. Посмотрите на страницах, если есть фреймворк темы для настройки, то там, если есть настройки темы во вкладке Внешний вид, то там.
    Если на страницах используется виз. редактор Visual Composer и текст вставлен в в виде html, то скорее всего поиск по БД не даст результатов, так как html код кодируется в base64.
    4) Посмотрите в файлах перевода (хотя, как вы сказали строки там нет)
    Ответ написан
  • Почему перестал работать скрипт модуляции аккордов и как это исправить?

    @azerphoenix
    Как я вижу это js код. И на новом сайте он отсутствует
    судя по всему у вас на сайте есть такой скрипт -
    Помимо того, что он там отсутствует, также отличаются селекторы, к которым он был привязан. Т.е. надо переделывать этот скрипт
    <!-- modulation buttons script -->
    <script type="text/javascript">
        var modulationSelector = 'span[style*="color: #ff0000"]';
        var photoSelector = '.entry pre img';
        var modulationCounter = 0;
        $(document).ready(function() {
            if ($(modulationSelector).length && !($(photoSelector).length)) {
                $('.modulation_block').show();
            }
            $('.modulation_increment').click(function(){moveChords(1);});
            $('.modulation_decrement').click(function(){moveChords(0);});
        });
    
        function moveChords(isUp)
        {
            modulationCounter = modulationCounter + (isUp ? 1 : -1);
            var counterElements = $('.modulation_counter');
            if (counterElements.length) {
                counterElements[0].textContent = modulationCounter;
            }
            console.log('moving chords ' + (isUp ? 'up' : 'down'));
            $(modulationSelector).each(function() {
                this.textContent = moveChordRow(this.textContent, isUp);
            });
        }
    
        function moveChordRow(chordRow, isUp)
        {
            var firstSpaceMatch = chordRow.match(/^([\s\n]*).*(\n\s*)?$/);
            var resultString = firstSpaceMatch[1];
    
            var pattern = /[^\s\n]+(?:\s+|$)/g;
            var matches;
            while (null !== (matches = pattern.exec(chordRow))) {
                resultString += moveChordBlock(matches[0], isUp);
            }
    
            return resultString + (firstSpaceMatch[2] ? firstSpaceMatch[2] : '');
        }
    
        function moveChordBlock(chordString, isUp)
        {
            var matches = chordString.match(/([A-H]#?)([^\s\/]*)\/?([A-H]?#?)([^\s]*)(\s*)/);
            if (null === matches) {
                return chordString;
            }
            var oldChord = matches[1];
            var modifiers = matches[2];
            var secondChord = matches[3];
            var hasSecondChord = secondChord.length > 0;
            var secondModifiers = matches[4];
            var spacesCount = matches[5].length;
            var newChord = moveChord(oldChord, isUp);
            var newSecondChord = hasSecondChord ? moveChord(secondChord, isUp) : null;
            if (null === newChord || (hasSecondChord && null === newSecondChord)) {
                console.error('Cannot parse chord string: ' + chordString);
                return chordString;
            }
    
            spacesCount = spacesCount + oldChord.length - newChord.length + (hasSecondChord ? secondChord.length - newSecondChord.length : 0);
            spacesCount = (spacesCount > 1 ? spacesCount : 1);
    
            return newChord + modifiers + (hasSecondChord ? '/' + newSecondChord + secondModifiers : '') + ' '.repeat(spacesCount);
        }
    
        function moveChord(chord, isUp) {
            var chords = ['A', 'B', 'H', 'C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#'];
            var index = chords.indexOf(chord);
            if (-1 === index) {
                return null;
            }
    
            return chords[ (index + chords.length + (isUp ? 1 : -1)) % chords.length ];
        }
    </script>
    <!-- end of modulation buttons script -->
    Ответ написан
  • Переменная с хидера не выводится в футере плагин ACF?

    @azerphoenix
    Здравствуйте!
    Проверьте корректно ли подключены header.php & footer.php ? Или wp_header() wp_footer()
    Обновите плагин до актуальной версии или же наоборот сделайте downgrade для исключения проблемы с плагином
    Ответ написан
  • Как подключить стили в Wordpress по методу Google (PageSpeed ​​Insights)?

    @azerphoenix
    Здравствуйте!
    В принципе, вам правильно подсказали, что если все ок, то не нужно трогать и не надо гнаться за оценкой 100 из 100. Честно, это абсолютно ничего не дает. Конечно же оптимизировать сайты нужно, но в меру.
    Здесь, я подробно ответил насчет оптимизации - Почему Google ругается сам на себя в Google PageSpeed Insights по поводу шрифтов?
    Суть "метода подключения скриптов и стилей PageSpeed" заключается в том, что вы загружаете их в подвале, а не в шапке для устранения render blocking JS & CSS.
    С JS обычно, не возникают проблемы, а вот, с CSS могут быть проблемы с отображением (как вам уже и сообщили). Чтобы минимизировать проблемы с отображением надо сгенерировать критичный CSS.
    Можно применить плагины Autoptimize + Autoptimize Critical CSS (платный сервис) или же PageSpeed Ninja. Можно самому сгенерировать критичный CSS - онлайн сервисы, средствами nodejs и т.д.
    https://jonassebastianohlsson.com/criticalpathcssg...
    Критичный CSS подключаете инлайн в шапке, а все остальное убираете в подвал.
    Ответ написан