Содержание

Free Gutenberg and WooCommerce WordPress Theme

Featured on

Blocksy is lighter and faster than most similar WordPress themes.

  • Google PageSpeed 0%

  • Pingdom Performance Grade 0%

  • GTmetrix PageSpeed Score 0%

  • GTmetrix YSlow Score 0%

Blocksy is packed with dozens of cool features inside.

  • Lightning Fast

    Feels fast and numbers confirm that, it is ranked at the top in most speed testing tools.

  • Gutenberg Ready

    Built from scratch to be 100% compatible with the Gutenberg editor and blocks.

  • Code Splitting

    Load JavaScript behavior when you really need it using webpack’s support for dynamic imports.

  • eCommerce Ready

    Easily build and customize your online store in minutes and start selling like a pro.

  • Translation Ready

    Blocksy is ready to be translated into any language and doesn’t contain hardcoded strings.

  • Clean Code

    Every single line of code is thoughtfully written and is open for changes and new features.

  • Live Preview

    Customizer changes are synced in real time in the preview window without slowing your work flow.

  • Fully Responsive

    Surprise your mobile users by giving them a unique experience while they navigate.

Blocksy was built and designed to work with the best WordPress page builders out there — just start creating your most ambitious designs.

  • Gutenberg
  • Brizy
  • Elementor
  • Beaver Builder

Hyper-intuitive options to customize and change in real time every part of your website. Gives you control over the layout settings, header, footer, sidebars, pagination, single pages and lot more.

  • Layout Options

    Set the layout width from default, narrow or full width, add left or right sidebar.

  • Header Options

    Change your header layout, customize the header elements and add a flexible top bar.

  • Footer Options

    Change the footer style, add your social channels or set a nice scroll reveal effect.

  • Sidebar Options

    Change your sidebar type, customize the spacing between widgets, change colors and fonts.

Customizer Dark Mode
Dark mode lovers: we’ve created it for you.

Blocksy gives you the ability to manage and access your color and background options where and when you need them.

From global to local typography options — Blocksy gives you the freedom to change the typography in each part of your website.

  • Google Fonts

    Choose from a large variety of more than 900 Google fonts.

  • Custom Fonts & Typekit

    Soon you will be able to apply your Typekit fonts, or even upload one.

Blocksy comes with five types of modern and clean archive layouts. With the help of its smart framework, you can easily set a different layout to a different post listing.

5 Archive Types

Blocksy WordPress theme was built from scratch with Gutenberg in mind, which means it supports all types of blocks and all types of editor manipulations like wide/full alignments.

4 Single Page Types

Fully integrated with WooCommerce, with extra customization options that will help you create your dream store in minutes.

  • Product Quick View

    Show your clients a quick summary of your product in a nice popup.

  • Ajax Add To Cart

    Adds the product instantly to cart — doesn’t make your customers wait.

  • Product Gallery Styles

    It comes with two gallery styles to present your product nicely.

Blocksy comes bundled with many powerful options and clever features. Here are some, but not all of them. Give Blocksy a try to discover its full potential! 🙂

  • SEO Optimized

    Our WordPress theme is SEO ready right from the first line of code.

  • GDPR Compliant

    Our theme helps you adhere to GDPR requirements more easily.

  • Integrated Schema

    Out of the box valid schema markup and Google structured data.

  • Instant Customizations

    See your customizations instantly — no more page refreshes.

  • One-Click Importer

    One click imports pages, posts, widgets, theme options and more.

  • Color Scheme Editor

    Adjust the entire color palette, making your site beautiful and unique.

  • Global Typography

    Set and manage your typography options from one single place.

  • Lazy Loading

    Built in lazy load system — never waste resources on loading unseen images.

  • Social Friendly

    Connect with your audience regardless of your platform of choice.

  • Custom Widgets

    Engage your visitors to interact with a range of built in widgets.

  • Live Search

    See the live results instantly as you type your query.

  • WooCommerce Extra

    Built-in extra functionality for your shop to increase your sales.

  • Page Hero Section

    Modern page hero/title sections with parallax effects and more.

  • Related Posts

    Reduce the bounce rate by displaying more recommended content.

  • Sticky Sidebars

    Make the sidebar to follow you as you scroll and show important info.

  • Pagination Types

    Various pagination types and options, standard, numbers and load more.

  • Widget Areas

    Multiple widget areas where you can add your desired widget.

  • Child Theme

    Edit files without the fear of breaking something in the parent theme.

  • Image Aspect Ratio

    Display your entries as thumbnails in landscape, portrait or square format.

  • Responsive & Retina Ready

    Highly responsive design that looks great on every screen size and type.

We use only battle-tested and updated technologies for the best results.

  • React

    Blocksy options are created using React components, which perform well even when the options are complex.

  • Webpack

    The Webpack build pipeline that Blocksy uses provides a way to load code only for the features that you need, without slowing down your site.

  • Babel

    Enabled by Babel, Blocksy uses the latest JS language features and makes sure they run smoothly in every browser.

  • PHP 7
  • ECMAScript 7

Our users are in love with Blocksy and here’s what they are saying:

  • ★★★★★

    I am in love with this theme! After years of searching for a nice-looking theme that is easy to set up, I’ve finally found it.

    It’s clean-looking and gives absolute flexibility. Can’t believe it’s free. Really appreciate your work!

    (Read entire review)

    Daria Storozhilova
  • ★★★★★

    I was suggested this theme by members of a WooCommerce forum, and haven’t regretted it one bit. The theme is classy, the options to tweak and customize are many, and the customer service is prompt

    I would definitely recommend this theme.

    (Read entire review)

    Leonard Fernandes
  • ★★★★★

    After spending literally dozens of hours looking for a suitable theme for my website I stumbled upon this gem. The customization options are insane. It translates great with translation plugins.

    The support is phenomenal and that’s the main reason why I’m leaving a review. Not everyone has the same needs but this theme is definitely worth checking out.

    (Read entire review)

    Taller Lumiere
  • ★★★★★

    I mean truly amazing, there are some many things you get in the free version ! I wonder what they will come up with in the pro!

    I can’t wait for it ! Keep up the good work guys, you rock 🤘

    (Read entire review)

    Yves Douillot
  • ★★★★★

    Blocksy is a great theme. What I liked most is its simple, minimalist & effective approach to design. I recommend it for web designers who use page builders like Elementor or Brizy, and need a clean website with WooCommerce functionality.

    (Read entire review)

    Designmodo
  • ★★★★★

    Easy to use, lots of customization options, and it performs well. Highly recommend!

    The team were also extremely helpful when I ran into a few issues that needed some custom code to fix.

    (Read entire review)

    Georges Petrequin
  • ★★★★★

    It’s not often find so many features in a free theme. Responsive setting, many options, excellent typography, good mobile version, and most importantly modern design. Recommend!

    (Read entire review)

    Артем Лоскутников
  • ★★★★★

    The theme is great and there are many customization settings available. The developer is also extremely helpful! Would definitely recommend to use this theme!

    (Read entire review)

    Jason Wong
  • ★★★★★

    I highly recommend this theme, it provides a great many customization options and the support by the developer is phenomenal: fast, detailed, professional and to the point.

    (Read entire review)

    Mark Vanderbeeken
  • ★★★★★

    The attention to details makes blocksy a joy to use.
    The flexibility and the options are endless and without bloat the code.
    Hands down my favorite theme!

    (Read entire review)

    Dielo
View all 560+ reviews

Start building your next gorgeous website now, for free.

Free Download

We’ll inform you about new theme updates and news, but no spam, we promise.

WP Query Engine для WordPress

WP Query Engine для WordPress Discover

/

WordPress

/

WP Query Engine

Quick & Easy

Найти лучшее Плагины WordPress для вас

Common Ninja имеет большой выбор мощных плагинов WordPress, которые просты в использовании, полностью настраиваются, подходят для мобильных устройств и имеют множество функций — так что обязательно ознакомьтесь с ними!

Testimonial

Testimonial плагины для WordPress

Контактная форма

Плагины контактной формы для WordPress

Карты

Плагины карт для WordPress

Перевод

Плагины перевода для WordPress

Чат

Плагины чата для WordPress

Slider

Плагины слайдера для WordPress

Отзывы

Обзоры плагинов для WordPress

Контакты

Контакты плагины для WordPress

Галереи

Галереи плагинов для WordPress

SEO

Плагины SEO для WordPress

Формы

Плагины форм для WordPress

Комментарии

Плагины комментариев для WordPress

Резервное копирование

Плагины резервного копирования для WordPress

Конфиденциальность

Плагины конфиденциальности для WordPress

Оптимизация

Плагины оптимизации для WordPress

Tabs

Плагины Tabs для WordPress

Social Sharing

Плагины Social Sharing для WordPress

Календарь событий

Плагины календаря событий для WordPress

Комментарии

Плагины комментариев для WordPress

Социальные ленты

Плагины социальных лент для WordPress

Социальный обмен 9001 9

Плагины социальных сетей для WordPress

Портфолио

Плагины портфолио для WordPress

Video Player

Плагины видеоплеера для WordPress

popup

всплывающие плагины для WordPress

SiteMap

Плагины SiteMap для WordPress

Оплата

Платежные плагины для WordPress

Скоро

Скоро появятся плагины для WordPress

Инвентарь

In Плагины ventory для WordPress

Testimonials

Плагины Testimonials для WordPress

Portfolio

Плагины портфолио для WordPress

Членство

Плагины членства для WordPress

Формы

Плагины форм для WordPress

Analytics

Плагины Analytics для WordPress

Календарь событий

Плагины Календаря событий для WordPress

Sliders

Плагины Sliders для WordPress

Analytics

9000 4 плагина Analytics для WordPress

Reviews

плагины Reviews для WordPress

Security

Плагины безопасности для WordPress

Ads

Плагины Ads для WordPress

Music Player

Плагины Music Player для WordPress

Обратный отсчет

Плагины обратного отсчета для WordPress

Маркетинг по электронной почте

Плагины для маркетинга по электронной почте для WordPress

Членство

Плагины для членства в WordPress

Электронная торговля

9 0004 Плагины электронной торговли для WordPress

Служба поддержки клиентов

Плагины службы поддержки для WordPress

Видеоплеер

Плагины видеоплеера для WordPress

Вкладки

Плагины вкладок для WordPress

Social Feeds

Плагины Social Feeds для WordPress

Common Ninja Apps

Одни из лучших плагинов Common Ninja для WordPress -коммерческая платформа или конструктор сайтов.

Всплывающее окно с уведомлением

Доставляйте важные сообщения пользователям и улучшайте их опыт

Истории

Создавайте потрясающие истории для привлечения и преобразования пользователей

Панель обратного отсчета

Установите срочность и увеличьте количество конверсий с помощью панели обратного отсчета

Блобы продуктов

Привлеките внимание к продуктам и увеличьте конверсию с помощью BLOB-объектов продуктов

Обзоры Yelp

Повысьте доверие и улучшите доверие для стимулирования продаж Вверх

Цитаты Карусель

Визуально улучшите свой веб-сайт и привлеките внимание вдохновляющими цитатами

Панель купонов

Увеличьте продажи за счет отображения скидок и привлечения клиентов

Чат Telegram

Используйте чат Telegram для общения, поддержки и улучшения пользовательского опыта.

Конструктор форм

Революционное создание форм без особых усилий

Видеогалерея

Демонстрация видео, улучшение дизайна и повышение конверсии

Обратный отсчет до загрузки

Разблокируйте силу обратного отсчета для загрузок

90 018 Всплывающее окно с купоном

Привлекайте внимание, собирайте потенциальных клиентов и Увеличение количества конверсий

Больше плагинов

Плагины, которые могут вам понравиться

Откройте для себя приложения по платформам

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

Она предоставляет вам бизнес-инструменты, необходимые вашему сайту!

Выбор правильного запроса для разработки WordPress

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

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

WordPress включает в себя несколько разных запросов: WP_query , query_posts() , get_posts() , get_pages() и pre_get_posts . Во многих случаях для достижения желаемых результатов можно использовать более одного из этих инструментов. Однако остается вопрос, какой на следует использовать ?

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

Нажмите на ссылку ниже, чтобы изучить конкретный элемент, или продолжайте читать, чтобы узнать обо всех этих параметрах:

  • WP_Query
  • pre_get_posts
  • запрос_сообщений ()
  • get_posts()
  • get_pages()
  • Применение теории на практике

Давайте сразу к делу.

WP_Query

WP_Query — это класс, стоящий за (почти) каждым запросом WordPress. Когда вы загружаете страницу или сообщение в WordPress, WP_query объект, $query , создается и извлекает соответствующие данные записи или страницы. Думайте о WP_Query как о движке, который поддерживает большинство запросов WordPress.

Вы используете WP_Query , даже не подозревая об этом. Когда вы загружаете URL-адрес, ядро ​​​​WordPress создает запрос к базе данных с WP_Query на основе URL-адреса и настроек, которые вы применили к своему веб-сайту. Итак, если вы обращаетесь к странице с URL-адресом, например, http://example.com/category/wordpress WordPress создает объект WP_Query , который находит все записи в категории WordPress и загружает все данные записей.

WP_Query поддерживает стандартные запросы записей и страниц, встроенные в WordPress, и его также можно использовать для создания пользовательских запросов. Это делается с помощью объектно-ориентированного программирования. Все, что вам нужно сделать, это создать новую переменную и объявить ее как новый экземпляр класса WP_Query , например:0003

Конечно, потом нужно что-то делать с результатами запроса. Однако это выходит за рамки этого урока. Вместо этого обратитесь к списку руководств в конце этого поста, если вам нужна помощь в применении WP_Query на практике.

Как разработчик WordPress вы, вероятно, будете использовать WP_Query чаще, чем любую другую функцию запроса или хук. Он универсальный и мощный. Хотя некоторые другие запросы, описанные в этом посте, в некоторых случаях могут сэкономить вам несколько нажатий клавиш, в целом вы не ошибетесь, выбрав 9.0283 WP_Query для написания пользовательских запросов.

Единственным исключением является случай, когда все, что вам нужно сделать, это отфильтровать результаты стандартного запроса. В этом случае вам следует использовать pre_get_posts . Итак, давайте посмотрим на это дальше.

pre_get_posts

pre_get_posts — это хук, а не функция. Вместо того, чтобы запрашивать базу данных заново, pre_get_posts позволяет изменять объект $query до того, как будет сделан запрос к базе данных, эффективно фильтруя результаты, возвращаемые стандартным запросом.

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

В некоторых случаях pre_get_posts не будут работать и не должны использоваться. Кодекс WordPress предлагает два таких случая:

  • Фильтр pre_get_posts не следует использовать для изменения запроса в шаблоне для одной страницы, поскольку это повлияет на свойства, уже установленные с помощью parse_query() .
  • Фильтр pre_get_posts не будет работать при добавлении в шаблон файлов, таких как archive.php , поскольку эти файлы загружаются после того, как основной запрос уже запущен.

Что нам остается? Это означает, что pre_get_posts — отличный выбор для изменения запроса загрузки сообщений в основной цикл домашней страницы, страницы блога и отдельных страниц, таких как page.php и single.php .

Однако иногда фильтрации стандартного запроса недостаточно. Возможно, вы хотите использовать несколько запросов WordPress или манипулировать результатами запроса способом, который не позволит pre_get_posts . В этом случае вы можете вернуться к WP_Query или прочитать о нескольких дополнительных параметрах.

query_posts()

Если вы покопаетесь в учебниках WordPress, выпущенных несколько лет назад, вы найдете множество руководств, рекомендующих использование query_posts() . Однако современные учебники почти повсеместно не рекомендуют этого делать. Вот почему.

Функция query_posts() заменяет основной объект запроса, $query , который создается и используется циклом по умолчанию, запускаемым ядром WordPress. Он делает это, создавая новый экземпляр WP_Query и назначение его объекту $query .

Может показаться, что query_posts() действительно мощный и полезный. Однако возня с основным циклом означает, что query_posts() имеет серьезные недостатки, и их следует избегать.

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

  • Использование query_posts() может значительно замедлить время загрузки страницы, увеличив вдвое объем работы, необходимой для обработки запроса.
  • Поскольку query_posts() заменяет стандартные данные запроса, это может вызвать множество проблем с нумерацией страниц и нанести ущерб страницам, которые используют несколько запросов.

Короче говоря, использование query_posts() является опасным предложением. Собственно говоря, официальная документация начинается с оговорки: Эта функция полностью переопределит основной запрос и не предназначена для использования плагинами или темами . Его чрезмерно упрощенный подход к изменению основного запроса может быть проблематичным, и его следует по возможности избегать.

Другими словами, если вы пишете тему или плагин — именно этим занимается большинство из нас — избегайте использования query_posts() . Вместо этого создайте совершенно новый объект WP_Query или используйте get_posts() , get_pages() или pre_get_posts вместо этого.

get_posts()

Думайте о функции get_posts() как о модифицируемом, предопределенном экземпляре класса WP_Query , потому что это именно то, чем оно является. Когда вы используете get_posts() , вы фактически вызываете предустановленные значения по умолчанию и используете их для создания экземпляра класса WP_Query .

В каком-то смысле get_posts() очень похож на query_posts() : они оба являются предопределенными экземплярами WP_Query . Однако они также сильно отличаются, потому что query_posts() заменяет объект $query по умолчанию , а get_posts() просто создает совершенно новый запрос, который не взаимодействует с глобальными переменными, как это делает query_posts() . .

Итак, какой смысл использовать get_posts() ? Почему бы просто не использовать WP_Query ? Ответ — удобство. Если вы думаете об использовании get_posts() , вы определенно можете выполнить все, что вы пытаетесь выполнить, с помощью WP_Query . Однако, используя get_posts() , вы экономите несколько нажатий клавиш.

Есть еще одно различие между WP_Query и get_posts() . То есть последний возвращает массив сообщений, а первый возвращает сообщения по одному с помощью функции the_post() . Это означает, что get_posts() возвращает все сообщения сразу в виде массива, в то время как WP_Query перебирает сообщения по одному, отображая соответствующий контент каждого сообщения по мере его повторения. На практике это означает, что при использовании get_posts() вы используете функцию foreach для отображения результатов, но вы используете стандартную структуру цикла if...while для вывода содержимого при использовании WP_Query .

Следует также помнить, что с get_posts() не изменяет глобальный объект $query , вам необходимо использовать setup_postdata() для каждого сообщения, чтобы получить доступ к методам и свойствам WP_Query . Хотя это может показаться сложным, на самом деле это не так. Взгляните:

Loading gist jpen365/67592c6e5f70553692a002fea13da63f

Таким образом, этот фрагмент кода вернет четыре сообщения из категории слайдера (предположительно, чтобы отобразить их в слайдере сообщений). Во-первых, мы убеждаемся, что запрос вернул что-то с if ( $slider_posts ) code, а затем прокручивайте сообщения, отображающие заголовок и содержание. Используя setup_postdata() , мы можем использовать глобальные переменные, такие как $id и $authordata , а также теги шаблонов, такие как the_title() и the_content() . Без настройки данных публикации мы не смогли бы использовать эти переменные и теги шаблона.

get_pages()

Одной из функций запроса, которой не уделяется много внимания, является get_pages() запрос. В отличие от всех других запросов в этом посте, которые так или иначе связаны с WP_Query , get_pages() — это функция, которая обходит WP_Query и напрямую запрашивает базу данных.

Подобно get_posts() , эта функция возвращает содержимое, найденное в массиве. Однако, в отличие от get_posts() , который можно использовать для извлечения любых сообщений любого типа (сообщений, страниц, пользовательских типов сообщений и т. д.), get_pages() можно использовать только для получения иерархических типов сообщений, таких как страницы и иерархические пользовательские типы сообщений.

Кроме того, get_pages() позволяет указать несколько параметров запроса, уникальных для иерархических типов записей, включая 'child_of' , 'parent' и 'hierarchical' . Доступ к этим параметрам является основной причиной, по которой вы можете рассмотреть возможность использования этого конкретного запроса.

Применение теории на практике

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

  • Подробное руководство по преодолению WP_Query
  • Объяснение цикла WordPress
  • Как расположить записи WordPress в любом порядке
  • Разработка WordPress для пользователей среднего уровня: запросы и циклы
  • 5 простых методов создания пользовательских запросов в WordPress

Резюме

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

  • WP_Query : универсальный класс, поддерживающий большинство запросов WordPress. Он гибкий и может использоваться для создания любого типа запроса.
  • pre_get_posts : хук, который можно использовать для уточнения объекта $query перед запросом к базе данных, тем самым безопасно изменяя запрос по умолчанию. Используйте его вместе с условными тегами для уточнения результатов стандартного запроса.
  • query_posts() : мощный экземпляр WP_Query , который заменяет объект $query по умолчанию и не предназначен для разработки тем или плагинов. Не используйте его.
  • get_posts() : экземпляр класса WP_Query , который возвращает массив сообщений.