$post_type,
'posts_per_page' => -1,
);
// Build the args array.
if ( isset( $attrs['id'] ) ) {
$args['orderby'] = 'post__in';
$args['ignore_sticky_posts'] = true;
if ( is_numeric( $attrs['id'] ) ) {
$args['post__in'] = array( $attrs['id'] );
} else {
$args['post__in'] = explode( ',', $attrs['id'] );
}
} elseif ( isset( $attrs['slug'] ) && '' !== $attrs['slug'] ) {
$args['orderby'] = 'name';
$args['name'] = $attrs['slug'];
} else {
return;
}
$render = apply_filters( 'fl_builder_insert_layout_render', true, $attrs, $args );
if ( ! $render ) {
return;
}
// Render and return the layout.
ob_start();
if ( $builder_active ) {
echo '
';
}
if ( ! $inline_assets ) {
add_filter( 'fl_builder_render_assets_inline', '__return_true' );
}
FLBuilder::render_query( $args, $site_id );
if ( ! $inline_assets ) {
add_filter( 'fl_builder_render_assets_inline', '__return_false' );
}
if ( $builder_active ) {
echo '
';
}
return ob_get_clean();
}
/**
* Allow users to wrap code that breaks the builder in a shortcode.
* @since 2.4.2
*/
static public function safe_shortcode( $atts, $content ) {
if ( $content ) {
if ( ! FLBuilderModel::is_builder_active() ) {
return do_shortcode( $content );
} else {
$refresh = '';
return __( 'Content not rendered while builder is active', 'fl-builder' ) . $refresh;
}
}
}
}
FLBuilderShortcodes::init();