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

Для связи: @vadimfominov
Download Telegram
front-page.php - специальный файл для главной страницы сайта. В первую очередь Wordpress ищет его и потом home.php и index.php если не находит.
Некоторые блогеры хотят размещать после каждого поста некий текст, например, с призывом к подписке, или копирайт.

Вставляем код в functions.php 👇👇
function add_post_content($content) {
if(! is_feed() &&! is_home()) {
$content = 'Ваш текст;';
}
return $content;
}
add_filter('the_content', 'add_post_content');
is_front_page() - проверяет отображается ли главная (домашняя) страница сайта. Тег сработает в любом случае: будь это страница с выводом последних постов или страница где для главной страницы сайта установлена статическая страница.

if( is_front_page() ){
echo "Это главная страница";
} else {
echo "это не главная страница";
}
Clearfy – плагин, который поможет в: 
✓ решении проблем безопасности вашего сайта
✓ SEO подготовке сайта
✓ удалении дублей страниц 
✓ очистке кода от мусора
✓ настройке правильных редиректов

Проверь свой сайт на ошибки 👇👇
Как работает `position: sticky` в CSS

«Липкое» позиционирование состоит из двух основных частей: «липкого» элемента и «липкого» контейнера.

Это свойство часто используется при создании "липкого" меню или "плавающего" сайтбара.

«Липкий» элемент — это элемент, которому мы задали position: sticky. Элемент будет становиться плавающим, как только область видимости достигнет определённой позиции, например top: 0px.
Пример:
.component {
 position: sticky;
 top: 0px;
}
«Липкий» контейнер — это HTML-элемент, который оборачивает «липкий» элемент. Это максимальная область, в которой может перемещаться наш элемент.
Когда вы задаёте элементу position: sticky, его родитель автоматически становится «липким» контейнером!
Очень важно это запомнить! Контейнер будет являться областью видимости для элемента. «Липкий» элемент не может выйти за пределы своего «липкого» контейнера.

Пример по ссылке ниже 👇👇👇
phpversion() — получает текущую версию PHP. Возвращает строку с номером версии текущего PHP-интерпретатора или модуля.

Пример:
echo 'Текущая версия PHP: ' . phpversion();

Понадобится когда не будет работать какая-то из новых функций 🤓
get_header()  - подключает файл шаблона header.php (шапку). Если передан параметр $name, то будет подключен файл header-{name}.php.

Пример:
<?php
if ( is_home() ){
get_header('home');
}
elseif ( is_404() ) {
get_header('404');
}
else {
get_header();
}
?>

Для главной страницы и 404 будут подключены header-home.php и header-404.php соответственно.
Часто на сайтах ставят кнопку/ссылку на предыдущую страницу.

Этот код поможет вернуться на страницу назад.
<a href="<?php echo esc_js('javascript:history.go(-1)'); ?>">Вернуться назад</a>
В WordPress для страниц с 404-й ошибкой предусмотрен специальный файл 404.php, он подключается автоматически, если запрошенной пользователем страницы не существует.

is_404() — проверяет, является ли текущая отображаемая страница 404-й ошибкой.

Возвращает true в случае отображения страницы с 404-й ошибкой (после получения статуса
HTTP 404: Not Found), в остальных случаях — false.
tax_query - параметры запроса для таксономий. Может принимать следующий ряд вложенных аргументов:
✓ relation - как выбирать записи из указанных таксономий ( AND или OR). Указывается в первом массиве.
Термины - во вложенных массивах, которые могут иметь следующие параметры:
✓ taxonomy - название таксономии
✓ field - поле которое будет указывать в параметре terms (id, name, slug)
✓ terms - термины таксономии, из которых нужно вывести записи
✓ operator - оператор, указывающий как сравнивать указанные термины в параметре terms
✓ include_children - включать или нет посты из дочерних терминов (для древовидных таксономий). true -включить.
Вадим Фоминов | Создаю сайты на Wordpress
tax_query - параметры запроса для таксономий. Может принимать следующий ряд вложенных аргументов: ✓ relation - как выбирать записи из указанных таксономий ( AND или OR). Указывается в первом массиве. Термины - во вложенных массивах, которые могут иметь следующие…
operator - оператор, указывающий как сравнивать указанные термины в параметре terms. Может быть:
✓ IN - записи из указанных терминов (по умолчанию).
✓ NOT IN - записи из всех терминов, кроме указанных.
✓ AND - записи одновременно принадлежащие всем указанным терминам.
✓ EXISTS - записи из таксономии (у которых есть любой термин таксономии). В этом случае параметр terms указывать не надо.
✓ NOT EXISTS - записи НЕ из таксономии (у которых нет ни одного термина таксономии). В этом случае параметр terms указывать не надо.
Остался в РФ и думаешь о своем будущем? Посмотри на IT! Это отличный шанс для всех, ведь в 2022 году на рынке освободилось место для новых специалистов после оттока айтишников из страны.

Поступай в  Kata Academy на Frontend-разработчика и плати за обучение только после гарантированного трудоустройства с зарплатой от 80 000₽. 

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

По окончании обучения школа продолжит поддерживать тебя и участвовать в развитии твоей карьеры в течение 2-х лет после выпуска.

Поступай в Kata Academy, чтобы стать Frontend-разработчиком уже в июле!
show_admin_bar() - позволяет отключить "Панель инструментов" (Админ Бар). Технически функция включает/отключает "Панель" для лицевой части (фронтэнда). В админ-панели "Панель" отключить невозможно.

Функцию можно вызывать на раннем этапе, даже до подключения плагинов или темы или следует размещать в файл темы functions.php.

Пример:
add_filter('show_admin_bar', '__return_false');
Этим плагином можно интегрировать формы Contact Form 7 с Битрикс24 в пару кликов! Он умеет:

⭕️ Интегрировать неограниченное количество форм;

⭕️ Передавать все типы полей, которые содержит форма (есть видео инструкции);

⭕️ Настраивать UTM-метки для анализа эффективности трафика с рекламных каналов;

⭕️ Отправлять заявка в разделы - «Лиды», «Сделка», «Задача», «Контакт», «Компания». И гибко управлять параметрами данных разделов.

⭕️ Отправлять в Битрикс24 скрытые поля с нужными значениями.

⭕️ Передавать данные в кастомные поля созданные вами в Битрикс24.

🔥 А первым 10 купившим будет скидка 35% по промокоду - hello35
register_activation_hook() - регистрирует функцию, которая будет срабатывать во время активации плагина. Функция должна вызываться напрямую из главного файла плагина.

Хук срабатывает только во время активации плагина, и не срабатывает во время автоматического обновления плагина.

Правила активации:
✓ register_activation_hook() должна вызываться из основного файла плагина, из того где расположена директива Plugin Name: ... и не должна вызываться из какого-либо хука, вроде plugins_loaded или init.
✓ Функция хука должна быть в том же файле что и хук или подключаться заранее из другого файла.
✓ В функции хука не работает вывод на экран (echo). Потому что происходит редирект и echo вы не увидите. Но можно использовать die().
✓ Глобальные переменные (если они есть) должны быть определены явно, чтобы был доступ к ним из функции хука.
register_deactivation_hook() - регистрирует функцию, которая будет запускаться после деактивации плагина.

Использование
register_deactivation_hook( $file, $function );

✓ $file(строка) (обязательный) - путь до главного файла плагина в рубрике wp-content/plugins. Можно указать полный путь. Обычно используется волшебная константа __FILE__.
✓ $function(строка/массив) (обязательный) - название функции обратного вызова (callback), которая будет запускаться при деактивации плагина.
get_self_link()  - получает URL (ссылку) текущей страницы (запроса), которая запустила текущий работающий код.

Например вернет URL https://example.com, если мы вызовем эту функцию на главной странице сайта.
get_template_directory() - получает полный путь от корня сайта до текущей темы (родительской, не дочерней). Без слэша на конце.

Вместо этой функции, можно использовать константу TEMPLATEPATH

echo TEMPLATEPATH;
/home/example.com/public_html/wp-content/themes/theme_name

echo get_template_directory();
/home/example.com/public_html/wp-content/themes/theme_name
load_template() - подключает указанный файл в PHP, с помощью require_once.

Используется, чтобы быть уверенным, что среда WordPress уже установлена в момент подключения файла. Функция также устанавливает глобальные переменные: 
✓ $posts, 
✓ $post, 
✓ $wp_did_header, 
✓ $wp_query, 
✓ $wp_rewrite, 
✓ $wpdb, 
✓ $wp_version, 
✓ $wp, $id, 
✓ $comment, 
✓ $user_ID.
locate_template() - находит наиболее подходящий серверный путь к указанному файлу шаблона. При поиске учитывается дочерняя тема. Можно указать, чтобы файл сразу подключался в PHP.

В функцию можно передать массив названий файлов. Тогда она будет проверять по очереди наличие файлов и при первом найденном файле, сразу вернет путь до него (следующие обрабатываться не будут). Если указать второй параметр, этот файл будет подключен в PHP.
register_post_type() — создает новый тип записи или изменяет имеющийся.

❗ После создания нового типа записи. Обязательно нужно зайти на страницу  Настройки → Постоянные ссылки. Нужно это для того, чтобы правила ЧПУ были пересозданы и туда были добавлены правила нового типа записи.