Current Path : /home/theafprt/conviviality360.com/wp-content/plugins/salient-core/includes/ |
Current File : /home/theafprt/conviviality360.com/wp-content/plugins/salient-core/includes/helpers.php |
<?php /** * Salient WPBakery page builder helpers * * @version 1.0 */ if( !function_exists('nectar_header_section_check') ) { function nectar_header_section_check() { return false; } } /** * Get theme options * * Since Salient is not active, we're going to * define some basic options. * * @version 1.0 */ if( !function_exists('get_nectar_theme_options') ) { function get_nectar_theme_options() { return array( 'accent-color' => '#3a67ff', 'extra-color-1' => '#ff1053', 'extra-color-2' => '#2AC4EA', 'extra-color-3' => '#000', 'extra-color-gradient' => array( 'from' => '#3a67ff', 'to' => '#ff1053' ), 'extra-color-gradient-2' => array( 'from' => '#2AC4EA', 'to' => '#32d6ff' ) ); } } /** * Nectar excerpt * * @version 1.0 */ if ( ! function_exists( 'nectar_excerpt' ) ) { function nectar_excerpt( $limit ) { if ( has_excerpt() ) { $the_excerpt = get_the_excerpt(); $the_excerpt = preg_replace( '/\[[^\]]+\]/', '', $the_excerpt ); // strip shortcodes, keep shortcode content return wp_trim_words( $the_excerpt, $limit ); } else { $the_content = get_the_content(); $the_content = preg_replace( '/\[[^\]]+\]/', '', $the_content ); // strip shortcodes, keep shortcode content return wp_trim_words( $the_content, $limit ); } } } /** * Grab IDs from gallery shortcode * * @since 5.0 */ if ( ! function_exists( 'nectar_grab_ids_from_gallery' ) ) { function nectar_grab_ids_from_gallery() { global $post; if ( $post != null ) { // if WP 5.0+ block editor if ( function_exists( 'parse_blocks' ) ) { if ( false !== strpos( $post->post_content, '<!-- wp:' ) ) { $post_blocks = parse_blocks( $post->post_content ); // loop through and look for gallery foreach ( $post_blocks as $key => $block ) { // gallery block found if ( isset( $block['blockName'] ) && isset( $block['innerHTML'] ) && $block['blockName'] == 'core/gallery' ) { preg_match_all( '/data-id="([^"]*)"/', $block['innerHTML'], $id_matches ); if ( $id_matches && isset( $id_matches[1] ) ) { return $id_matches[1]; } } //gallery block found end } //foreach post block loop end } //if the post appears to be using gutenberg } $attachment_ids = array(); $pattern = '\[(\[?)(gallery)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)'; $ids = array(); $portfolio_extra_content = get_post_meta( $post->ID, '_nectar_portfolio_extra_content', true ); if ( preg_match_all( '/' . $pattern . '/s', $post->post_content, $matches ) ) { $count = count( $matches[3] ); // in case there is more than one gallery in the post. for ( $i = 0; $i < $count; $i++ ) { $atts = shortcode_parse_atts( $matches[3][ $i ] ); if ( isset( $atts['ids'] ) ) { $attachment_ids = explode( ',', $atts['ids'] ); $ids = array_merge( $ids, $attachment_ids ); } } } if ( preg_match_all( '/' . $pattern . '/s', $portfolio_extra_content, $matches ) ) { $count = count( $matches[3] ); for ( $i = 0; $i < $count; $i++ ) { $atts = shortcode_parse_atts( $matches[3][ $i ] ); if ( isset( $atts['ids'] ) ) { $attachment_ids = explode( ',', $atts['ids'] ); $ids = array_merge( $ids, $attachment_ids ); } } } return $ids; } else { $ids = array(); return $ids; } } }