HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux sa-dev.otherchirps.net 5.15.0-139-generic #149-Ubuntu SMP Fri Apr 11 22:06:13 UTC 2025 x86_64
User: www-data (33)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wp-content/themes/kalium/vc_templates/lab_masonry_portfolio.php
<?php
/**
 *	Masonry Portfolio Items
 *	
 *	Laborator.co
 *	www.laborator.co 
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit; // Direct access not allowed.
}

// Atts
if( function_exists( 'vc_map_get_attributes' ) ) {
	$masonry_atts = vc_map_get_attributes( $this->getShortcode(), $atts );
}

$masonry_items = array();
$masonry_items_ids = array();

if ( preg_match_all( '/' . get_shortcode_regex() . '/', $content, $portfolio_items ) ) {
	
	foreach ( $portfolio_items[0] as $portfolio_item ) {
		$portfolio_item = preg_replace( '/^\[[^\s]+/i', '', substr( $portfolio_item, 0, -1 ) );
		$portfolio_item = $this->prepareAtts( shortcode_parse_atts( $portfolio_item ) );

		if ( ! isset( $portfolio_item['portfolio_id'] ) ) {
			continue;
		}
		
		$id = $portfolio_item['portfolio_id'];
		
		if ( ! isset( $portfolio_item['box_size'] ) ) {	
			$portfolio_item['box_size'] = '8x3';
		}

		// WPML translate object IDs
		$id = apply_filters( 'wpml_object_id', $id, 'portfolio', true );
		
		// Add Masonry Item to Array
		$masonry_items_ids[]  = $id;
		$masonry_items[ $id ] = $portfolio_item;
	}
}

// Use Portfolio Items shortcode to parse Masonry Items
include locate_template( 'vc_templates/lab_portfolio_items.php' );