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.
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.
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.
(Read entire review)
The flexibility and the options are endless and without bloat the code.
Hands down my favorite theme!Dielo
Start building your next gorgeous website now, for free.
Free DownloadWe’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 EngineQuick & 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 для WordPressReviews
плагины 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
, который возвращает массив сообщений.