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

Для связи: @vadimfominov
Download Telegram
the_post_thumbnail() - выводит html код картинки-миниатюры текущего поста.

the_post_thumbnail_url() - выводит URL миниатюры текущего поста.

Обе функции используются в цикле WordPress.
wpdb - позволяет производить любые операции с базой данных WordPress: вставлять, обновлять, получать или удалять данные.

WordPress предоставляет возможность удобно манипулировать своей базой данных за счет php класса wpdb.

Пример как обратиться к нужной таблице:
$table_name = $wpdb->get_blog_prefix() . 'table_name ';
Многомерный массив - элемент массива сам является массивом.

Тут уже знания Wordpress не помогут и можно воспользоваться вот таким кодом.

$period = [];
$test = [];
// Убрать дубликаты значений из массива $campArray
foreach ($campArray as $value) {
  if(!in_array($value['name'], $test)) {
    $test[] = $value['name'];
    $period[] = $value;
  }
}

Прохожу циклом по массиву $campArray и проверяю (in_array) есть ли в массиве $test фильтруемое значение. Если нет, то добавляю $value['name'] в $test, а $value в новый массив. Т.о. в массиве $period не будет дублированных значений.
Делаем полноценный проект в портфолио от А до Я. Бесплатно. 

Немного обо мне. Меня зовут Андрей, я Senior Frontend разработчик. Веду Ютуб и несколько ТГ каналов. Обучаю Frontend разработке бесплатно всех желающих.

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

Переходи в наш канал с анонсами, чтобы не пропустить: @senior_javascript
Делаю АПИ для приложения и нужно достать ID нужной страницы. Решил достать так 👇👇

$my_page = get_page_by_path('courses', OBJECT, 'page');
$id_page = $my_page->ID;

get_page_by_path( $page_path, $output, $post_type ) - получает объект поста / страницы по ярлыку.

$page_path - путь страницы
$output - в каком виде нужно получить результат
$post_type - название типа записи. Для страниц это 'page'.
В проектах использую плагин ACF и для изображений использую "Возвращаемый формат" - массив изображения, а не ссылка на изображение. Из массива можно достать ссылку на изображение и атрибут alt примерно так 👇👇

$background_img = [
'url' => get_field('img_acf', $id_page)['url'],
'alt' => get_field('img_acf', $id_page)['title']
];

Распечатайте get_field('img_acf', $id_page) и увидите какие ещё параметры можно достать из изображения
PHP функция array_merge — сливает один или большее количество массивов.

Сливает элементы одного или большего количества массивов таким образом, что значения одного массива присоединяются к концу предыдущего. Результатом работы функции является новый массив.
query_posts() - используется самим WordPress при получении записей для текущей страницы (архив авторов, отдельная запись, рубрика, метка). Определяет какие посты будут показаны в базовом Цикле WordPress. Создает базовый Цикл WordPress.

Функция query_posts() должна располагаться перед Циклом WordPress, потому что при вызове query_posts создается новый объект wp_query, который затем будет использоваться в цикле.
the_ID() - выводит ID текущего поста. Используется внутри Цикла WordPress.

Если нужно получить ID, а не выводить его на экран то используйте функцию get_the_ID() или такой код: $post->ID
Библиотека jQuery, включенная в WordPress, загружается в режиме «no conflict». Это сделано, чтобы предотвратить проблемы совместимости с другими библиотеками, которые могут загружаться в WordPress.

В режиме «no-confict» ярлык $ недоступен, вместо него используется слово jQuery.
the_permalink() - выводит УРЛ поста.

Обычно используется внутри Цикла WordPress, однако если указать параметр $post (для какого поста нужно получить ссылку), то можно использовать за пределами цикла.
the_time() - выводит на экран время (дату) публикации текущей записи в Цикле WordPress.
Этот Тег Шаблона предназначен для использования внутри Цикла WordPress.
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.