Updated on 19 Jul 2024
This Pro tutorial provides the steps to use Meta Box to select one or more HappyFiles' folders and output the images from the selected folder(s) using HappyFiles shortcode or Bricks' Image Gallery element or img elements in a query loop.
This is an extension of Output HappyFiles Folders in Metabox Select-Field tutorial.
Step 1
Install and activate HappyFiles.
Go to Media → Library.
Create folders and categorize images by moving them into the folders.
Step 2
Let's define a custom function that can be used to populate all the HappyFiles folder names as options of a Meta Box Select field.
Add the following in child theme's functions.php
(w/o the opening PHP tag) or a code snippets plugin:
<?php
function get_happyfile_folders() {
$outputChilds = true;
$args = [
"taxonomy" => "happyfiles_category",
//"slug" => "downloads", // get Folder by slug
"orderby" => "name",
"order" => "ASC",
"hide_empty" => false,
];
$folders = get_terms( $args );
$selectOptions = [];
foreach ( $folders as $folder ) {
if ( ! $outputChilds && $folder->parent != 0 ) {
continue;
}
$selectOptions[$folder->term_id] = $folder->name;
}
return $selectOptions;
}
Step 3
Install and activate Meta Box.
Go to Meta Box → Custom Fields.
Create a new field group for your post type having a Select-type field.
Choices:
callback: get_happyfile_folders
If you would like to be able to select multiple folders, enable the "Multiple" option.
Step 4
Edit the posts (of your post type) and populate the field.
Step 5
Define another custom function to retrieve the IDs of images from the selected HappyFiles folder(s).
Add the following in child theme's functions.php
(w/o the opening PHP tag) or a code snippets plugin:
This is a BricksLabs Pro tutorial.
For full access login below or create your BricksLabs Pro account