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

Для связи: @vadimfominov
Download Telegram
Поможет изменить символ валюты на буквы "руб.", к примеру

Код в статье 👇

#woocommerce
Установил плагин, загрузил пару тестовых товаров, а страниц магазина нет? Возможно ты забыл добавить <?php the_content(); ?> в файл index.php. Страницы магазина выводятся шорткодами и вставляются в поле для контента в админке, поэтому и нужно добавить the_content() для отображения страниц.

#woocommerce
Checkout Field Editor - позволяет редактировать поля оформления заказа для интернет-магазина на WooCommerce.

✓ добавлять новые пользовательские поля;
✓ редактировать, скрывать или удалять поля по умолчанию;
✓ изменять подписи;
✓ перегруппировывать поля;
✓ добавлять пользовательские классы CSS.

#woocommerce
Рекомендуемые товары в WooCommerce – это те, которые отмечены звёздочкой, либо галочкой в настройках видимости в каталоге.

#woocommerce
current_user_can() - проверяет права текущего пользователя. Если записать конструкцию if(){} и внутрь вставить current_user_can('administrator'), то контент будет доступен только для администраторов сайта.
WC_Order – это объект заказа в WooCommerce. На этой странице вы найдёте описание его методов и примеры использования.

Подробнее 👇👇
woocommerce_form_field() - в зависимости от переданных параметров возвращает или выводит HTML поля формы.
При нажатии на кнопку товар сразу же окажется в корзине пользователя, а пользователь окажется на странице оформления заказа.

Но нам ведь ещё нужно осуществить редирект? Для этого мы лишь слегка изменяем ссылку:
http://ваш-сайт/checkout?add-to-cart=21
WC_Product – это объект товара в WooCommerce. На этой странице вы найдёте описание его методов и много-много примеров использования.

Подробнее 👇👇
Как проверить, что товар с определённым ID находится в корзине и, если да, то добавить какое-то дополнительное поле в форму оформления заказа.

Подробнее 👇👇
По умолчанию, если вы ищете что-либо в интернет-магазине на WooCommerce и по вашему запросу ничего не найдено, то вы получаете только сообщение, что ничего не найдено. А давайте попробуем заинтересовать пользователей какими-то товарами вместо этого.

Подробнее 👇👇
Динамичный фильтр theme_(post_type)_templates

Позволяет добавить/удалить шаблоны страниц для типов записей. Эти шаблоны выбираются при публикации записи в админ-панели.

Примеры использования 👇
В статье ниже максимально подробно расписано как добавлять посты из инстаграма на свой сайт. В своих проектах использую только этот вариант.
get_current_user_id() - Получает ID текущего (авторизованного) пользователя.

Использование:
$cur_user_id = get_current_user_id();
echo $cur_user_id;
get_post_meta() - Позволяет получить все метаполя.

$units_sold = get_post_meta($product->get_id(), 'total_sales', true);

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

<?php
if ( is_home() ){
get_header('home');
}
elseif ( is_404() ) {
get_header('404');
}
else {
get_header();
}
?>
Нужно узнать ID текущей категории поста и поставить его в массив параметров нужных постов. Потом стандартным циклом выводить посты.

<ul>
  <?php
  $category = get_the_category();
  $cat_add_id = $category[0]->term_id;
  $real_id = get_the_ID();

  $args = array(
    'cat' => $cat_add_id,
    'numberposts' => 6
  );
 
  $query = new WP_Query( $args );
  if( $query->have_posts() ){
    while( $query->have_posts() ){
      $query->the_post();
      if ($post->ID != $real_id) {
      ?>
      <li>
        <a href="<?php the_permalink(); ?>">
          <?php the_title(); ?>
        </a>
      </li>
      <?php
      }
    }
    wp_reset_postdata();
  }
  ?>
</ul>
Была необходимость выводить картинки категорий. Пример как это сделать 👇

<?php
$args = array('hide_empty' => 0);
$terms = get_terms('product_cat', $args);

foreach ($terms as $term) {

$thumb_ID = get_term_meta($term->term_id, 'thumbnail_id', true);
$image = wp_get_attachment_url($thumb_ID); ?>

<img
src="<?php echo $image; ?>"
alt="<?php echo $term->name; ?>">
<?php
}
?>
При создании своей темы для интернет-магазина с помощью Woocommerce, нужно сделать её совместимой с этим плагином.
Добавь код ниже в файл functions.php чтобы плагин Woocommerce работал с новой темой👍

function mytheme_add_woocommerce_support() {
add_theme_support( 'woocommerce' );
}
add_action( 'after_setup_theme', 'mytheme_add_woocommerce_support' );
Добавление на сайт AJAX фильтра постов по категориям, произвольным полям, либо по дате. Сортировка по убыванию / возрастанию.
Этот же принцип можно применять и при разработке фильтра товаров в интернет-магазине.
Ниже я собрал основные функции WP, которые использую при создании карточек постов.

the_title(); - выводит заголовок поста
the_excerpt(); - выводит краткое описание поста
the_permalink(); - выводит ссылку на пост
the_post_thumbnail(); - выводит миниатюру поста
the_time('j F Y'); - выводит дату публикации поста

Все эти функции использовать внутри одного из циклов вывода постов.