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

Для связи: @vadimfominov
Download Telegram
Как сделать ссылку на корзину?

<?php echo esc_url( wc_get_cart_url() );?>

Сформирует url адрес корзины.
Как добавить иконку к корзине?

<?php echo get_template_directory_uri() ?>

Загрузил иконку в папку с темой и при помощи кода выше сформирую ссылку до папки с темой, а дальше запишу путь к иконке. Готово.
Как передать данные с одной страницы на другую?

Можно использовать форму. В action указать путь, на какую страницу передать данные и method=POST. В скрытом input запишу данные, которые мне нужно передать.
В проекте я так передаю название категории на страницу Каталог. На странице Каталог записываю полученные данные в переменную и AJAXом фильтрую товары.

Что бы посмотреть, что получает другая страница, запишу
print_r($_POST);
Как избавиться от стилей, которые используют плагины?

При разработке новой темы полезно будет удалить стили, которые не нужны. Я разрабатывал интернет-магазин и мне капец как мешали стили woocommerce, приходилось постоянно переопределять их, !important ставить и т.д.

Код ниже, поможет удалить ненужные стили.

function remove_styles () {
wp_deregister_style ('contact-form-7');
wp_deregister_style ('woocommerce-layout');
wp_deregister_style ('woocommerce-smallscreen');
wp_deregister_style ('woocommerce-general');
}
add_action ('wp_print_styles','remove_styles',100);

Естественно, этот код вставлять в functions.php
👍1
Интересно, а как поменять символ валюты на буквы?

В woocommerce можно изменить символ валюты по умолчанию на любой другой-свой. Для этого нужно вставить код ниже в файл functions.php.

Я так меняю стандартные символы на 'Руб.' или как в примере на значок гривны.

/* Изменяет символ валюты на буквы */
add_filter('woocommerce_currency_symbol', 'change_existing_currency_symbol', 10, 2);

function change_existing_currency_symbol( $currency_symbol, $currency ) {
switch( $currency ) {
case 'UAH': $currency_symbol = '₴'; break;
}
return $currency_symbol;
}
Как мне подключить скрипты и стили на сайт?

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

http://paste.org.ru/?lxbwo5
Валидатор ругается?

Сайт на Wordpress добавляет много своих скриптов и стилей. Из-за этого валидатор ругается и выдаёт много ошибок. Чтобы это исправить, я использую эту часть кода.

http://paste.org.ru/?l73okl
Тема не совместима с Woocommerce?

При установке Woocommerce плагин предлагает выбрать одну из совместимых тем. Но мне этого не нужно, я хочу создать свою тему.
Поэтому, чтобы сделать свою тему совместимой с Woocommerce, я добавляю код ниже в файл functions.php и всё работает👍

// Сделать тему совместимой с WooCommerce
function mytheme_add_woocommerce_support() {
add_theme_support( 'woocommerce' );
}
add_action( 'after_setup_theme', 'mytheme_add_woocommerce_support' );
Как отсортировать товары в корзине/на почте по алфавиту?

Я как-то делал один большой интернет-магазин и там покупатели постоянно заказывали не 1-2 товара, а 20-25 штук в заказе. Возникала проблема. Товары в корзине формируются по тому порядку, которому я их туда добавлял, и максимально неудобно собирать заказ для клиента, когда все 25 товаров в разнобой.

Как это решить? Просто отсортировать все товары в заказе по алфавиту. Что я и сделал)))

Код по ссылке поможет в этом:
http://paste.org.ru/?wko8wb
Как сделать страницу с 404-й ошибкой?

Я использую простой шаблон для этой страницы. Основной фишкой является маленький кусочек javascript, который возвращает пользователя на предыдущую страницу.

Вот код:
<?php echo esc_js('javascript:history.go(-1)'); ?>
Как добавить класс только на одной странице?

Иногда, нужно добавить класс к блоку на какой-то определённой странице. Для этого я использую определённые функции в wordpress. В данном примере добавится класс active к блоку на странице "Результат поиска".
Ещё один способ добавления класса на определённой странице
Как автоматически выводить текущий год?

На многих сайтах в футоре ставят с какого года и по текущий существует организация. Как записать текущий год один раз и не возвращаться к нему?
Я использую строчку кода из примера, которая выводит текущий год.

<script>
document.write(`${new Date().getFullYear()}`);
</script>
Как подключить Header и Footer к страницам?

На всех страницах нужно подключать header и footer. Эти две небольшие функции отлично справляются с этим.
Для вывода постов в Wordpress используем циклы, приведу несколько примеров:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Вывод заголовка поста: the_title() -->
<?php endwhile; else: ?>
<span>Записей нет.</span>
<?php endif; ?>

#wordpress #вывод_постов
Для вывода постов в Wordpress можно использовать следующий цикл:
<?php if ( have_posts() ){ while ( have_posts() ){ the_post(); ?>
<!-- Вывод заголовка поста: the_title() -->
<?php } } else { ?>
<span>Записей нет.</span>
<?php } ?>

#wordpress #вывод_постов
Следующий цикл для вывода постов:
<?php while ( have_posts() ){ the_post(); ?>
<!-- Вывод заголовка поста: the_title() -->
<?php } ?>
<?php if ( ! have_posts() ){ ?>
<span>Записей нет.</span>
<?php } ?>

#wordpress #вывод_постов
Во время разработки своей темы постоянно есть необходимость вставлять шорткоды в коде. Это могут быть шорткоды формы cf7 или ajax форма поиска в woocommerce.

<php 
echo do_shortcode('[your_shortcode]');
?>
Как посмотреть что внутри переменной?

После умения "правильно гуглить" важно научиться использовать функции для просмотра переменных. Я постоянно использую print_r() и var_dump().

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

Например, воспользуйтесь одним из циклов вывода содержимого поста и внутри распечатайте переменную print_r($post);, посмотрите в браузере, какую информацию о посте она выведет?

И теперь, не зная стандартной функции вывода заголовка поста the_title(); его можно вывести с помощью <?php echo $post->post_title; ?>

Для того, что бы распечатанный код не был в одну строку, запишите его внутри тега
<pre><?php print_r($post); ?></pre>

#wordpress
ezgif.com-gif-maker.gif
222.1 KB
Как повысить качество и чек своей работы?

Один из способов довольно простой - это создание анимации на сайте.
Есть анимации, в которых цель разработчика — улучшить взаимодействие с пользователем, наглядно продемонстрировать определенный контент, сделать законченными и ненавязчивыми изменения на сайте — вообще очень часто такая анимация неотделима от сайта и не перегружает его.

По ссылке ниже можно посмотреть и скопировать очень простой в реализации анимации код, который можно применять в своих проектах.

#wordpress #разработка_сайтов
motomarket.gif
1.8 MB
Как загрузить товары выбранной категории в слайдер?

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

6 простых шагов как сделать ajax загрузку товаров выбранной категории в слайдер:

1 - разметка списка с категориями;
2 - разметка слайдера;
3 - установить slick slider;
4 - js код слайдера;
5 - js код ajax запроса;
6 - php код обработки запроса.

Этот слайдер можно вставить в любое место на сайте.

#wordpress #ajax

Код для реализации функционала по ссылке ниже👇👇👇