Layout Shortcode
Default shortcode
[avf-layout name="Name of Layout" id="651d5d75bfdf2"]<?php
// a) using do_shortcode
echo do_shortcode('[avf-layout name="Name of Layout" id="651d5d75bfdf2"]');
// b) using the special plugin class
use Org\Wplake\Advanced_Views\Bridge\Advanced_Views;
echo Advanced_Views::view_shortcode('651d5d75bfdf2', 'name')
->render();By default, Layout shortcodes contain two arguments: "name" and "id". The "name" is used for clarification purposes only and doesn't play any functional role. The "id" argument is the most important as it allows Advanced Views to associate the shortcode with a specific Layout.
Arguments
Besides the common shortcode arguments, the Layout shortcode has the following arguments:
object-id
This argument allows to define a source, from which the Layout fields will be loaded. By default, the object-id argument is skipped, and Advanced Views automatically picks up the ID of the currently displayed object (current post/page/taxonomy). If you need to change the default behavior, see the details below.
1. Loading fields from a specific post/CPT item
By ID: [avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="ANOTHER_POST_ID"]
By Slug: [avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="post" post-slug="my-slug"]<?php
// 1. using do_shortcode
// 1.1) using do_shortcode by ID
echo do_shortcode('[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="ANOTHER_POST_ID"]');
// 1.2) using do_shortcode by Slug
echo do_shortcode('[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="post" post-slug="my-slug"]');
// 2. using the special plugin class
use Org\Wplake\Advanced_Views\Bridge\Advanced_Views;
// 2.1) using the special plugin class by ID
echo Advanced_Views::view_shortcode('651d5d75bfdf2', 'name')
->set_object_id('ANOTHER_POST_ID')
->render();
// 2.2) using the special plugin class by Slug
echo Advanced_Views::view_shortcode('651d5d75bfdf2', 'name')
->set_object_id('post')
->set_post_slug('my-slug')
->render();Loading by ID is the default approach. However, loading by slug is preferred if you have multiple environments (e.g., Localhost and Live) where IDs may differ, especially if synchronization is not performed regularly.
2. Loading fields from an Options page
[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="options"]<?php
// a) using do_shortcode
echo do_shortcode('[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="ANOTHER_POST_ID"]');
// b) using the special plugin class
use Org\Wplake\Advanced_Views\Bridge\Advanced_Views;
echo Advanced_Views::view_shortcode('651d5d75bfdf2', 'name')
->set_object_id('options')
->render();3. Loading fields from a User profile
[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="user" user-id="YOUR_USER_ID_HERE"]<?php
// a) using do_shortcode
echo do_shortcode('[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="user" user-id="YOUR_USER_ID_HERE"]');
// b) using the special plugin class
use Org\Wplake\Advanced_Views\Bridge\Advanced_Views;
use Org\Wplake\Advanced_Views\Bridge\Interfaces\Shortcodes\View_Shortcode_Interface;
echo Advanced_Views::view_shortcode('651d5d75bfdf2', 'name')
->set_object_id(View_Shortcode_Interface::OBJECT_OPTIONS)
->set_user_id(1) // your user id here
->render();4. Loading fields from a taxonomy term
[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="term" term-id="YOUR_TERM_ID_HERE"]<?php
// a) using do_shortcode
echo do_shortcode('[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="term" term-id="YOUR_TERM_ID_HERE"]');
// b) using the special plugin class
use Org\Wplake\Advanced_Views\Bridge\Advanced_Views;
use Org\Wplake\Advanced_Views\Bridge\Interfaces\Shortcodes\View_Shortcode_Interface;
echo Advanced_Views::view_shortcode('651d5d75bfdf2', 'name')
->set_object_id(View_Shortcode_Interface::OBJECT_TERM)
->set_term_id(1) // your term id here
->render();5. Loading fields from a comment
[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="comment" comment-id="YOUR_COMMENT_ID_HERE"]<?php
// a) using do_shortcode
echo do_shortcode('[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="comment" comment-id="YOUR_COMMENT_ID_HERE"]');
// b) using the special plugin class
use Org\Wplake\Advanced_Views\Bridge\Advanced_Views;
use Org\Wplake\Advanced_Views\Bridge\Interfaces\Shortcodes\View_Shortcode_Interface;
echo Advanced_Views::view_shortcode('651d5d75bfdf2', 'name')
->set_object_id(View_Shortcode_Interface::OBJECT_COMMENT)
->set_comment_id(1) // your comment id here
->render();6. Loading fields from a menu
[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="menu" menu-slug="YOUR_MENU_SLUG_HERE"]<?php
// a) using do_shortcode
echo do_shortcode('[avf-layout name="Name of Layout" id="651d5d75bfdf2" object-id="menu" menu-slug="YOUR_MENU_SLUG_HERE"]');
// b) using the special plugin class
use Org\Wplake\Advanced_Views\Bridge\Advanced_Views;
use Org\Wplake\Advanced_Views\Bridge\Interfaces\Shortcodes\View_Shortcode_Interface;
echo Advanced_Views::view_shortcode('651d5d75bfdf2', 'name')
->set_object_id(View_Shortcode_Interface::OBJECT_MENU)
->set_menu_slug('main-menu') // your menu slug here
->render();7. Loading fields from a menu item
In WordPress, every menu item is a Post. So you can load a Layout from the Menu item by passing its ID into the object-id argument, like in the first "Loading fields from a specific post/CPT item" case.
FAQs
Last updated