> For the complete documentation index, see [llms.txt](https://wplake.gitbook.io/advanced-views/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wplake.gitbook.io/advanced-views/getting-started/key-aspects.md).

# Key Aspects of Advanced Views

[Advanced Views](https://wordpress.org/plugins/acf-views/) is a content display plugin for WordPress specialists who need precise control over content selection and layout.&#x20;

It acts as a mediator between the WordPress database and the front end, managing database queries, template generation, and data transformation, while leaving the final output entirely under your control.&#x20;

With Advanced Views, you build reusable layouts that combine smart templates, styles, and scripts into self-contained components. This modular architecture keeps your layouts organized, reduces duplication, and makes components easier to maintain, extend, and reuse.

Designed to be lightweight and compatible with any theme or page builder, Advanced Views makes it easy to adopt without changing your existing workflow. It comes with native support for field providers, including [ACF](/advanced-views/fields/meta-plugins/advanced-custom-fields.md), [MetaBox](/advanced-views/fields/meta-plugins/meta-box-fields.md), [Pods](/advanced-views/fields/meta-plugins/pods-fields.md), and [WooCommerce](/advanced-views/fields/woo-product-fields.md).&#x20;

Learn it once, reuse everywhere.

## 1. Layout basics

A [*Layout*](/advanced-views/getting-started/first-layout.md) is an entity type introduced by Advanced Views that defines how your content is displayed. Each *Layout* consists of the following components:

1. **Fields list** – specifies which fields are loaded into the template.
2. **Layout Template** – defines the HTML markup and rendering logic for displaying the fields.
3. **CSS and JavaScript** (both optional) – provide styling and scripting associated with the *Layout*.
4. **Embedding shortcode** – a unique shortcode that can be pasted anywhere, with support for passing loading arguments.

Once you've defined the fields list, Advanced Views **automatically** generates a default template for them. It recognizes each field type and produces the appropriate markup - for example, an `<img>` tag for an [Image field](/advanced-views/field-types/media/image-field.md), a loop for a [Gallery field](/advanced-views/field-types/media/gallery-field.md), and so on.

Advanced Views eliminates the need to learn your field provider's documentation or manually retrieve field data. It automatically transforms raw database values into template-ready formats.&#x20;

For example, an image ID stored in the database is passed as a complete image object with properties such as `src`, `width`, and `height`.This lets you **focus on crafting the layout** instead of dealing with field types and meta retrieval.

{% hint style="success" %}
Layouts are composable, meaning one Layout can include another. They also support arbitrary logic, allowing you to perform operations such as combining field values, formatting output, or calling any WordPress function directly within the template.
{% endhint %}

## 2. Post Selection basics

A [*Post Selection*](/advanced-views/getting-started/first-post-selection.md) is an entity type introduced by Advanced Views that defines a dynamic content query. Each *Post Selection* consists of the following components:

1. **Content filters** - specify the target content (post types), along with filtering and sorting options.
2. **Item Layout** - defines which *Layout* is used to render each item returned by the query.
3. **Selection template** - defines the HTML markup that wraps the rendered items. &#x20;
4. **CSS and JavaScript** (both optional) – provide styling and scripting associated with the Selection.
5. **Embedding shortcode** – a unique shortcode that can be pasted anywhere

*Post Selection* is built on top of WordPress's native [WP\_Query](https://developer.wordpress.org/reference/classes/wp_query/) and provides a user-friendly interface for its most commonly used arguments.&#x20;

This eliminates the need to learn the extensive [WP\_Query Docs](https://developer.wordpress.org/reference/classes/wp_query/#parameters) for everyday use, while still allowing you to inject custom query arguments directly for advanced or uncommon scenarios.

## 3. Smart templates

Smart templates combine HTML with template engine expressions. Advanced Views includes [several built-in template engines](/advanced-views/features/smart-templates.md), allowing you to choose the one that best fits your workflow.

Benefits over drag-and-drop templates:

* Full control over the markup
* Advanced conditional logic
* The ability to include any WordPress (or PHP) function call

Benefits over traditional theme templates:

* Pre-loaded variables, ready to use
* Automatic template and markup generation
* Built-in template validation

This approach gives you the flexibility of hand-crafted templates while eliminating much of the complexity and repetitive work typically involved in coding.

## 4. Embedding

*Layouts* and *Post Selections* are embedded using native WordPress shortcodes.

Each entity has its own unique shortcode that can be pasted into any location, regardless of the theme, editor, or page builder you're using.

Shortcodes also support arguments, allowing you to customize the behavior of the same entity in different contexts.

## 5. Workflow features

Advanced Views comes with a row of features that improve the development workflow:

#### 5.1) Automatic template validation

Advanced Views[ automatically validates](/advanced-views/features/workflow/template-validation.md) your custom templates to catch errors before they reach your website. Validation runs when you save templates, when field groups change, or on demand using the Bulk Validation tool.

#### 5.2) File System storage

By default, *Layouts* and *Post Selections* are stored in the WordPress database. File System Storage feature lets you store them as files inside your child theme instead, providing several benefits:

1. **IDE-friendly** – edit templates and related files using your preferred IDE with full code intelligence
2. **Version control** – track changes with Git or any other version control system, making collaboration and deployments much easier.
3. **Sass and TypeScript support** – replace plain CSS and JavaScript with Sass and TypeScript in your development workflow.
4. **Tailwind CSS support** – use Tailwind utility classes directly in your templates.

#### 5.3) Admin bar

Advanced Views on front pages adds a new item to the admin bar, with the following options:

* **On-page Development Mode** – displays quick edit links for every *Layout* and *Post Selection* used on the current page, so you can jump directly to the relevant entity without searching through the WordPress admin.
* **Live Reload** – automatically refreshes the page whenever one of the currently used *Layouts* or *Post Selections* is modified, providing a faster development experience.

#### 5.4) Cross-installation components

Reusability is a core principle that helps us build advanced functionality without spending a long time on implementation.

With Advanced Views, you can reuse [*Layouts*](/advanced-views/getting-started/first-layout.md) and [*Post Selections*](/advanced-views/getting-started/first-post-selection.md) created for one website across any number of other websites.

Read about [cross-installation components](/advanced-views/features/workflow/cross-installation-components.md).
