Вадим Фоминов | Создаю сайты на Wordpress
1.53K subscribers
233 photos
5 videos
15 files
112 links
Про сайты со сложной структурой: интернет-магазин, сайт-каталог, блог, сайт-портфолио или личный кабинет любой сложности.

Для связи: @vadimfominov
Download Telegram
<?php bloginfo('name'); ?>
Название сайта.

<?php bloginfo('description'); ?>
Короткое описание сайта.

<?php bloginfo('template_url'); ?>
URL Темы: get_template_directory().

<?php bloginfo('template_directory'); ?>
URL Темы: get_template_directory().

<?php bloginfo('stylesheet_directory'); ?>
URL Темы: get_stylesheet_directory_uri().

<?php bloginfo('stylesheet_url'); ?>
URL файла темы style.css: get_stylesheet_uri().

<?php bloginfo('charset'); ?>
Кодировка сайта.

<?php bloginfo('html_type'); ?>
Content-Type страницы: text/html.

<?php bloginfo('language'); ?>
Локальный язык сайта.

<?php bloginfo('version'); ?>
Версия WordPress.

<?php bloginfo('rss2_url '); ?>
URL фида: /feed.

<?php bloginfo('comments_rss2_url'); ?>
URL фида комментов: /comments/feed.

<?php bloginfo('admin_email'); ?>
E-mail Админа.
<?php bloginfo('pingback_url'); ?>
URL уведомлений на файл xmlrpc.php.

<?php bloginfo('rdf_url'); ?>
URL RDF/RSS 1.0 фида (/feed/rfd).

<?php bloginfo('rss_url'); ?>
URL RSS 0.92 фида (/feed/rss).

<?php bloginfo('atom_url '); ?>
URL Atom фида (/feed/atom).

<?php bloginfo('url'); ?>
home_url().

<?php bloginfo('wpurl'); ?>
site_url().
Код меняет название у кнопки "Добавить в корзину". В functions.php прописываем:

<?php

add_filter( 'woocommerce_product_single_add_to_cart_text', 'woocommerce_custom_single_add_to_cart_text' ); function woocommerce_custom_single_add_to_cart_text() { return __( 'Название_Кнопки', 'woocommerce' ); }
Код меняет название у кнопки "Добавить в корзину" на странице archive-product.php. В functions.php прописываем:

<?php
add_filter( 'woocommerce_product_add_to_cart_text', 'woocommerce_custom_product_add_to_cart_text' ); function woocommerce_custom_product_add_to_cart_text() { return __( ' Название_Кнопки ', 'woocommerce' );}
in_the_loop()
Проверяет активен ли цикл WordPress.

have_posts()
Проверяет есть ли записи для вывода.

the_post()
Устанавливает следующий пост в цикле и global $post.

setup_postdata()
Устанавливает global $post.

the_ID()
Выводит ID текущего поста.
the_title()
Выводит заголовок текущей записи.

the_title_attribute()
Выводит заголовок записи для атрибута html тега.

the_content()
Выводит контент записи.

the_excerpt()
Выводит отрывок записи, со вставкой в конце [...].

the_excerpt_rss()
Выводит отрывок (цитату) (для RSS).
get_permalink()
Получает URL записи.

the_permalink()
Выводит URL записи.

comments_number()
Выводит число комментариев записи.

edit_post_link()
Выводит ссылку (html) на редактирование поста.
 
the_date()
Выводит/получает дату публикации записи.

get_the_date()
Получает дату создания текущего поста.
Forwarded from WP-Kama.ru (campusboy)
Идея: при регистрации Типа записи и Таксономии сразу указывать, какой шаблон будет использоваться для Архива, а какой для Записи, а также сколько выводить в этом шаблоне записей.

Реализация:
https://wp-kama.ru/note/podklyuchenie-shablonov-dlya-ctp-i-tax-pri-ih-registratsii

Благодаря такому подходу, вы можете при регистрации указать любой свой параметр, а потом в фильтрах registered_post_type/registered_taxonomy его применить, что делает работу с WordPress ещё удобнее!
add_action( 'woocommerce_after_shop_loop_item', 'bbloomer_show_free_shipping_loop', 5 );
 
function bbloomer_show_free_shipping_loop() {
   echo '<p class="shop-badge">Бесплатная доставка</p>';
}
Прописывается в functions.php:
add_filter( 'wc_add_to_cart_message_html', '__return_null' );
Прописывается в functions.php:
add_filter( 'wc_add_to_cart_message_html', 'bbloomer_custom_add_to_cart_message' );
 
function bbloomer_custom_add_to_cart_message() {
   $message = 'свой_текст_уведомления!' ;
   return $message;
}
В карточках новостей лучше выделять заголовок новости большим размером шрифта и цветом. На изображениях выше хорошо видно для чего это делается.
Aimylogic — сервис для создания чат-ботов на сайте, в соцсетях или мессенджерах

Основа платформы — визуальный no-code конструктор, для работы не требуются знания кода. В сервисе можно создавать чат-ботов, которые умеют понимать естественную речь пользователя и реагировать на нее согласно сценарию.

Доступен ежемесячный бесплатный тариф.

Попробовать!
Интересное наблюдение, сделал приложение на Next.js. Передавал данные из формы в виде JSON строки POST запросом по API на сторону бэкенда (API Wordpress`a использовал) . Почему то бэк принимал не JSON строку, а массив состоящий из ключа (та самая длинная JSON строка) и значение в виде пустой строки. Не выяснил почему так, но с помощью
json_decode(array_key_first($_POST), true);
распарсил нужную строку и отправил данные в Битрикс.

array_key_first - Получает первый ключ массива.

Может у кого есть идеи почему фронт передавал JSON сроку, а бэк принимал такой массив 👆
⬜️ Что нужно сделать при создании сайта на wordpress ⬜️

Следующие шаги нужно проделывать для каждого сайта, который вы делаете на wordpress. Они улучшат ваш сайт и сделают его более привлекательным для посетителей и поисковых систем.

⬜️ Настройка ЧПУ. Обязательно после установки wordpress ставьте ЧПУ ссылки. Перейдите в настройки » постоянные ссылки и выберите "Название записи"/"Sample post" для ссылок. На работающем сайте делать не рекомендую, так как может испортить seo. Не забудьте настроить редиректы для старых ссылок на новые страницы.

⬜️ Рекомендуйте посетителям сайта связанный контент или другими словами — перелинковка. Обязательно делайте ссылки с одних страниц на другие. Это улучшит пользовательский опыт и seo.

⬜️ Настройте транслитерацию имени файлов и url. Особенно важно настроить транслитерацию файлов, так как многие плагины для оптимизации картинок плохо работают с кириллическими названиями.

⬜️ Настройте защиту от взлома и спама.

⬜️ Настройте кеширование и сжатие файлов.

Эти 5 пунктов помогут сделать ваш сайт лучше. Если вы знаете ещё советы, то пишите о них в комментариях.

WEB PANDA | #оптимизация #wordpress
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
💡Как использовать WP и Next js в связке

✓ На базе WP пишем API и выгружаем как любой сайт на поддомен api.site.com который находится на обычном хостинге.
✓ Используя это API пишем фронт на Next.js и выгружаем проект через GitHub на vercel.com.
✓ Подключаем к проекту на vercel свой домен site.com.
✓ Готово.

Заказчик получает привычную админку от Wordpress и молниеносную работу сайта на Next.js.
👍2
🔥 Блоки Гутеберга для статей сайта

Делаю блог и в статьях используют много однотипных баннеров, прям в середине текста. Как вариант был написать шорткод, но заказчик попросил сделать что то другое, шорткодами пользоваться неудобно и нет гибкости в редактировании баннера.
Только сейчас начал использовать блоки Гутенберга. Позволяет создать редактируемый баннер и использовать его в любой части статьи.

✓ Необходимо было настроить webpack для компиляции jsx кода в js
✓ Создал свой плагин чтобы переносить этот функционал и в другие проекты
✓ Плюсом оказались начальные знания по React
💡 Про распределение задач на проекте

Новый проект разделил на дедлайны - каждые две недели. За две недели нужно выполнить +- одинаковое количество работы. План составлялся в понедельник, потом его утверждали, подписывали договора и доступ к админке старого сайта у меня оказался в среду вечером. Начал работать в четверг. Хотелось успеть сделать всё что планировал и три дня перед дедлайном работал с утра до ночи. Вот и получилось что сделано много, но с багами. Плюс завалил изучение реакта и другие важные задачи.

Сделал для себя вывод, что лучше предоставить нормально работающую часть проекта, чем всё с багами и недостатками.

Поделитесь своим опытом в этой теме, интересно будет почитать.
Про решаемые задачи

Как то сложилось, что я разрабатываю сайты последние три года и практически в каждом проекте встречается что-то новое.

✓ Лендинг на WordPress.
✓ Сайт-каталог на WordPress.
✓ Интернет-магазин на WordPress + Woocommerce.
✓ Авторизация, регистрация, профиль пользователя и личный кабинет на сайте.
✓ Ajax фильтры любой сложности для магазина или каталога.
✓ Ajax пагинация страниц.
✓ Интеграция по API с фэйскаст и 1с фитнес клуб.
✓ Написал своё API для приложения на базе WordPress.
✓ Разработал приложение на Next.js.
✓ Разработал блоки Гутенберга на js и через поля ACF.

Пишите мне, буду рад дополнить этот список ещё интересными задачами. В зависимости от загруженности могу помочь с вашими проектами.

*Бесплатно
This media is not supported in your browser
VIEW IN TELEGRAM
Про липкие блоки в статье

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

Проблемы: на сайте контент статьи выводится в одном div. Сложность выполнения в том, что липкие блоки работают в пределах одного контейнера, а на странице таких блоков может быть больше.

Ход выполнения:
Вся задача решалась с помощью JS:
- добавил ко всем липким блокам .block-sticky
- записал в массив html теги из которых состоит контент
- с помощью метода map записал в новый массив индексы тегов, в которых есть .block-sticky
- в div с контентом статьи добавил изменённую структуру контента статьи

Методом .slice я выбирал какие теги вставлять в изменённую структуру.

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