Ответы пользователя по тегу WordPress
  • Пропали контактные формы, что делать?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    У меня была подобная проблема, когда я работал с плагином WPML + contact form 7 multilingual. Тогда и пропали контактные формы. Попробуйте исключить конфликт с другими плагинами для этого поочередно отключайте плагины и посмотрите какой из них конфликтует с cf7.
    А формы работают потому, что в базе они хранятся. Просто не отображаются в админке
    Ответ написан
    4 комментария
  • Что в вёрстке отвечает за подпункты меню?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Откройте dev tools браузера и проинспектируйте элемент.

    Как сделать так, чтобы эти "рамки" были на весь подпункт меню?
    Ещё хотелось бы сделать выравнивание текста по центру в подпунктах - что за них вообще отвечает?

    Вам нужно тег ul субменю сделать на всю ширину - width:100%; или задать минимальную ширину: min-width:300px;

    Чтобы выровнить текст добавьте text-align:center
    Ответ написан
    1 комментарий
  • Почему в результатах поиска видна вся страница с ключевым словом?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Почему в результатах поиска видна вся страница с ключевым словом?


    Потому, что вы выводите всю страницу вот, тут:
    <?php the_content(''); ?>
    Выводите отрывок:
    <?php the_excerpt(); ?>
    Ответ написан
    1 комментарий
  • Как создаётся url-путь к шаблону wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Посмотрите на иерархию шаблонов WordPress.
    Название шаблона имеет важную роль, так как ВП использует его для подключения того или иного шаблона.
    Например,
    page-{slug}.php
    page-{id}.php
    front-page.php
    home.php
    ...
    Ответ написан
  • Почему не работает добавление задачи cron wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Сам недавно написал небольшой функционал для работы с WP Cron и скажу следующее:
    1) это псевдокрон, а не крон.
    2) wp cron сильно зависит от трафика сайта. Нет трафика пользователей, не сработает ваш скрипт
    3) wp cron сильно зависит от конфигурации рнр и хостинга. Есть хороший плагин WP Crontrol, где вы можете посмотрет отработал ли ваш крон или нет. И если есть проблемы на стороне хостинга, то вам посоветует добавить указанный ниже код в wp-config.php define('ALTERNATE_WP_CRON', true); и посмотрите отработает ли скрипт.
    Так как у меня это был не плагин, а всего лишь скрипт, который нужно было запускать, то я использовал Cron, вместо Wp Cron.
    Ответ написан
    1 комментарий
  • Как использовать функции WooCommerce в своём файле?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Ответ написан
    Комментировать
  • Попап с контакткой информацией для мобильной версии?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Плагин не подскажу, а так это всего лишь блок, который отображается при размере экрана
    @media screen and (max-width:768px) {
    .bottom-block {
    display:block;
    }
    }


    Позиционируем сам блок
    .bottom-block {
    display:none;
    position:absolute;
    bottom:0;
    }


    <div class="bottom-block">
    <!--Тут содержимое блока-->
    </div>


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

    azerphoenix
    @azerphoenix
    Java Software Engineer
    mt. NATS,
    проще свою ф-цию запилить...

    если б кто подсказал просто логику

    1) Напишите платежный шлюз, чтобы можно было принимать оплату. Ту все зависит от АПИ сервиса.
    2) Создайте кастомный тип записи, где будете хранить информацию об оплате пользователя, дату оплаты и время оплаты, id пользователя, период на который куплена данная услуга.
    3) Создайте новую роль для пользователей, которую будете назначать пользователю, когда он покупает услугу.
    4) Создайте рубрику или рубрики, которые видно только пользователям, у которых есть такая роль.
    5) Создайте WP Cron или просто CRON задачу, которая будет ежедневно проверять не исстек ли срок действия платной услуги (по тому полю, где хранитяс дата оплаты) и по исстечению запустит рнр скрипт, который у указанного пользователя удалит роль, которую вы создали.

    Если проект достаточно серьезный и бюджет позволяет, то как вариант -> фреймворки. Yii2, Laravel и др.
    Ответ написан
    Комментировать
  • Как в WP сделать условие, которое будет проверять опубликовал ли пользователь пост?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Надо бы детали уточнить - вас интересует опубликовал ли пользователь пост (т.е. есть ли у пользователя опубликованные посты вообще) или опубликовал ли пользователь новый пост (т.е. с определенного временного интервала)?
    Если первый вариант, то вот сниппеты:
    https://wp-kama.ru/function/count_user_posts
    https://wordpress.stackexchange.com/questions/2442...

    <?php
    $user_id = get_current_user_id();  // ID пользователя
    $post_type = 'post'; // тип записи. post, page и др.
    $posts = count_user_posts( $user_id, $post_type ); //cout user's posts
    if( $posts > 0 ){
    echo 'У пользователя имеются опубликованные записи';
    }
    ?>


    Если вас интересует второй вариант, то такой сниппет должен сработать:
    <?php 
    	$args = array(
    		'author' => get_current_user_id(), // ID текущего автора
    	    'date_query' => array(
    	        array(
    	            'after'     => 'January 1st, 2015', // задаем временной интервал - С
    	            'before'    => 'December 31st, 2015', // задаем временной интервал - По
    	            'inclusive' => true,
    	        ),
    	    ),
    	);
    	$query = new WP_Query( $args );
    
    	$count = $query -> post_count;
    	if ($count  != 0) {
    		echo 'Данный пользователь добавил пост.';
    	} else {
    		echo 'Данный пользователь еще не добавил пост.';
    	}
    
    ?>


    https://wp-kama.ru/function/wp_query
    https://stackoverflow.com/questions/29275403/get-p...
    Ответ написан
  • Как изменить адрес сайта на WP?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Корневую директорию можно изменить в панели управления хостингом, если панель позволяет это сделать. Или в конфигах веб-сервера.
    Другое решение - прочитайте документацию
    https://wordpress.org/support/article/giving-wordp...
    Тут как раз написано, как сделать, чтобы расопложить ВП в субдиректории
    Ответ написан
    Комментировать
  • Как добавить поле в импорт WP если его нет?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Наверняка этот плагин хранит свои данные в метаполях. В плагине WP All Import есть функционал импорта данных в метаполя. Имопртируйте их туда.
    Ответ написан
    Комментировать
  • Есть ли плагин с возможностью поиска и удаления фрагментов кода?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Если этот код содержится в БД, то вот, самый классный плагин - Search regex
    https://wordpress.org/plugins/search-regex/
    Умеет искать и заменять по БД на основе регулярок
    Ответ написан
    Комментировать
  • The_time() сам переводит на нужный язык в WordPress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Давайте посмотрим на эту функцию - https://wp-kama.ru/function/the_time
    Как видно из русской документации эта функция может принимать аргументы для форматирования даты согласно локализации. Обратите внимание, что английская система отображения даты и времени отличается от русской. Например, в англ. принято время разделять на am / pm
    Далее открываем сайт оф. документации и видим следующее:
    https://wordpress.org/support/article/formatting-d...
    Читаем главу про локализацию даты и времени date_i18n()
    Если я вас правильно понял, то это то что вам нужно
    Ответ написан
  • Добавляется https в конец URL, почему?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    1) попробуйте удалить htaccess файл, далее зайдите в админку Настройки - Постоянные ссылки и обновите (нажмите "Сохранить"). Если это не устранит проблему, то:
    2) поочередно отключайте плагины, чтобы исключить возможный конфликт. Может какой-то плагин криво работает. В частности, обратите внимание есть ли плагины, который создают редиректы или предназначены для SSL. (Really simple SSL и подобные ему)
    3) Смените тему на дефолтную и проверьте заново
    4) Переносили ли вы сайт недавно? Если да, то заменяли ли вы ссылки в БД автоматом? Может быть тогда была допущена ошибка.
    5) Посмотрите какие настройки прописаны в Настройки - Общие. И нет ли в конце https.
    Ответ написан
    Комментировать
  • Как добавить произвольный текст к Header menu WordPress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Подключиться к сайту по фтп или использовать "Редактор тем".
    Найти нужный шаблон и добавить нужный текст.
    А для ответа на ваш вопрос нужно явно больше информации. Хотя бы сайт
    Ответ написан
    4 комментария
  • Как связать категорию с постами?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Решил сделать все через произвольные поля. Задал произвольное поле для категории но оно не выводится в карточке поста. Использовал функции the_field() и get_field().

    Для начала рекомендую прочитать документацию к плагину ACF.
    Чтобы вывести кастомное поле созданное для категории в пост, нужно в the_field() и get_field() в качестве второго аргумента передать ID текущей категории. Грубо говоря, в шаблоне вам нужно получить id категории, к которой относиться текущая запись и передать ее в качестве второго аргумента.
    the_field('custom_field', 13 )

    После этого решил пойти другим способом. Записать число в description самой категории и вывести её в карточку поста.

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

    У каждой категории должно быть свое уникальное число и оно должно делиться на количество постов данной категории а также записываться в каждый пост категории.

    1) не совсем понял идею, точнее конечную цель, которую вы хотите достичь.
    2) В случае использования кастомного поля вышеуказанным способом вы не записываете это значение в каждый пост, а лишь выводите это значение из категории в шаблоне. Если вам нужно записать и хранить это значение, то создайте еще кастомное поле для поста, обновляйте значение этого поля на основе значение кастомного поля категории и выводите его в шаблоне
    Ответ написан
  • Как в my-account вывести пункт меню payments?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Удаление и добавление ссылок в меню страницы /my-account
    https://rudrastyh.com/woocommerce/my-account-menu.html
    Добавление кастомной страницы в меню - https://iconicwp.com/blog/add-custom-page-account-...
    Ответ написан
    Комментировать
  • Как сбросить кеш в Wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    1) Кэш может быть реализован не только при помощи плагинов ВП. Но также серверное кэширование на стороне apache, nginx и т.д. А также на стороне CDN сервисов, если они подключены. Также кэш возможен на клиентской стороне (в браузере).

    2) Я например, для удобства в браузере, который использую для разработки отключил кеширование вовсе. Firefox - https://support.mozilla.org/ru/questions/1124186

    3) Относительно браузера Firefox, перезагрузка страницы с очисткой кеша браузера - ctrl + f5 или же ctrl + shift + R

    4) Также AlexGlinskiy подсказал вам другой вариант, когда можно при помощи хешей "заставить" браузер загрузить обновленную страницу.

    5) Для кеширования в ВП использую Wp Fastest Cache + Fastest Cache Premium. Одним из положительных плюсов этого плагина является автоочистка кэша сайта при обновлении / добавлении страницы, записи и т.д.
    Ответ написан
    Комментировать
  • Как реализовать вывод рубрики при наведении на поиск WordPress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Из плагинов можете посмотреть этот -
    https://ru.wordpress.org/plugins/ajax-search-lite/
    А лучше про версию - https://ajaxsearchpro.com/
    В нем огромное количество функционала и наверняка, вы что-нибудь себе подберете.

    Что касается реализации кодом, то вот решение:
    1) вешаете триггер на hover, focus или click.
    https://api.jquery.com/on/
    https://api.jquery.com/click/
    https://api.jquery.com/focus/
    https://api.jquery.com/hover/
    2) Если вам нужно чтобы всегда была обновленная информация о новых рубриках без обновления просматриваемой страницы, то как вариант при срабатывании триггера отправляете ajax запрос и получаете список рубрик.
    https://api.jquery.com/jquery.ajax/
    А если не нужно, то ajax не нужен. При загрузке страницы отдаете список категорий в виде json на клиент.
    3) Далее нужно сверстать скрытый (hidden) блок, который при вышеуказанном триггере отображается.
    https://api.jquery.com/toggle/
    или
    https://api.jquery.com/show/
    https://api.jquery.com/hide/
    4) Ну и соответственно, пользователь может кликнуть на любую из рубрик, рубрика при помощи CSS & JS добавляете слева в инпут поле поиска и введенный пользователем запрос обрабатывается именно с учетом выбранной рубрики.
    5) Ну а дальше о том, как создать форму поиска и искать по выбранной категории прочитайте тут:
    https://www.davidtiong.com/blog/how-to-create-word...
    https://stackoverflow.com/questions/25358804/wordp...
    https://wp-kama.ru/function/get_search_form
    Ответ написан
    Комментировать
  • Как пофиксить, не отображается смена языка Multilang в записях?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Для ответа на ваш вопрос недостаточно информации.
    1) Почему вы решили, что это баг? И если это баг, то мы тут не поможем. Пишите разработчику плагина.
    2) Как именно переключатель языка был добавлен в тему? Добавлен ли он в "глобальные" шаблоны типа header || footer. Или например, выводится в меню. Может быть, вы его добавили в шаблон page.php и забыли добавить в single.php
    3) Некоторые плагины мультиязычности в зависимости от настроек могут не показывать переключатель, если для текущей страницы или записи нет перевода.
    Соответственно, добавьте перевод для одной записи, откройте страницу записи и посмотрите появится ли переключатель
    Ответ написан