/** * Renders the custom CSS or JS for all global nodes in a layout. * * @since 1.7 */ public static function render_global_nodes_custom_code($type = 'css') { $code = ''; $rendered = array(); if (!FLBuilderModel::is_post_node_template()) { $nodes = FLBuilderModel::get_layout_data(); $node_status = FLBuilderModel::get_node_status(); foreach ($nodes as $node_id => $node) { $template_post_id = FLBuilderModel::is_node_global($node); if ($template_post_id && !in_array($template_post_id, $rendered)) { $rendered[] = $template_post_id; $code .= FLBuilderModel::get_layout_settings($node_status, $template_post_id)->{$type}; } } } return $code; }
/** * Applies a node template that is defined as network-wide. * * @since 1.6.3 * @param int $template_id The node template post ID. * @param string $parent_id The new parent node ID for the template. * @param int $position The position of the template within the layout. * @return void */ public static function apply_node($template_id = null, $parent_id = null, $position = 0) { $site_id = self::get_source_site_id(); $template = new StdClass(); if ($site_id) { if (is_multisite()) { switch_to_blog($site_id); } $template->data = FLBuilderModel::get_layout_data('published', $template_id); $template->settings = FLBuilderModel::get_layout_settings('published', $template_id); $template->type = FLBuilderModel::get_user_template_type($template_id); $template->global = false; if (is_multisite()) { restore_current_blog(); } return FLBuilderModel::apply_node_template($template_id, $parent_id, $position, $template); } return false; }