rgar( $entry, '1.3' ), 'last_name' => rgar( $entry, '1.6' ), 'phone' => rgar( $entry, '3' ), 'email' => rgar( $entry, '4' ), 'lead_source' => 'Web', 'oid' => $sfdc_oid, 'Campaign_ID' => $Campaign_ID, 'member_status' => 'Web response', 'Inquiring_for__c' => rgar( $entry, '5' ), ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $webtolead_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($cleanPOST)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); if (curl_errno($ch)) { $error_msg = curl_error($ch); } curl_close($ch); } // Function to send data to Five9 function postFiveNine( $entry, $form ) { $Campaign_ID = '701130000026vNy'; $F9list = "Web Form Submissions H"; $F9domain = "connect america"; $permalink = getenv('HTTP_REFERER'); $title = get_permalink(url_to_postid($permalink)); date_default_timezone_set('America/New_York'); $F9Date = date("Y-m-d") . "-" . date("H:i"); $newphone = preg_replace('/^1|\D/', '', rgar($entry, '3')); $cleanPOST = array( 'first_name' => sanitize_text_field(rgar($entry, '1.3')), 'last_name' => sanitize_text_field(rgar($entry, '1.6')), 'number1' => $newphone, 'F9domain' => $F9domain, 'F9list' => $F9list, 'salesforce_id' => $Campaign_ID, 'Device_6' => $title, 'WebDialer_Key' => $F9Date, 'F9key' => WebDialer_Key, 'F9CallASAP' => true ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.five9.com/web2campaign/AddToList"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($cleanPOST)); $response = curl_exec($ch); if (curl_errno($ch)) { $error_msg = curl_error($ch); } curl_close($ch); } session_start(); # Imports all Composer packages require __DIR__ . '/vendor/autoload.php'; use ofc\Site; # Declare a new Site object $site = new Site(); # Allow the Site object to be accessed in other files function site() { global $site; return $site; } /** * Register Custom Navigation Walker */ add_action('after_setup_theme', function () { require_once get_template_directory() . '/bootstrap_5_wp_nav_menu_walker.php'; }); register_nav_menu('consumer-menu', 'Consumer menu'); register_nav_menu('business-menu', 'Buisness menu'); register_nav_menu('col-one-consumer-menu', 'Col 1 Consumer Menu'); register_nav_menu('col-two-consumer-menu', 'Col 2 Consumer Menu'); register_nav_menu('col-three-consumer-menu', 'Col 3 Consumer Menu'); register_nav_menu('col-four-consumer-menu', 'Col 4 Consumer Menu'); register_nav_menu('col-one-business-menu', 'Col 1 Business Menu'); register_nav_menu('col-two-business-menu', 'Col 2 Business Menu'); register_nav_menu('col-three-business-menu', 'Col 3 Business Menu'); register_nav_menu('col-four-business-menu', 'Col 4 Business Menu'); /** * Adds selected style sheet option as a class on body element */ add_filter('body_class', function ($class) { $style_sheet = get_field('style_sheet'); // default to consumer brand if we don't have the ACF option for the current page if (!$style_sheet) { $style_sheet = "consumer-brand"; } $class[] = $style_sheet; return $class; }); /** * Creates a custom excerpt from an ACF post object */ function custom_excerpt($str, $length = 70, $append = '...') { $pieces = explode(' ', strip_tags($str)); $excerpt = implode(' ', array_slice($pieces, 0, $length)); if (count($pieces) > $length) { $excerpt .= $append; } return $excerpt; } /** * Replaces post excerpt truncate and sets as a link */ function wpdocs_excerpt_more( $more ) { if ( ! is_single() ) { $more = sprintf( '%2$s', get_permalink( get_the_ID() ), __( ' Read more >>', 'textdomain' ) ); } return $more; } add_filter( 'excerpt_more', 'wpdocs_excerpt_more' ); /** * Function: get_phone * Retrieves and formats a phone number from either session or database. * * @return string Formatted phone number (e.g., 123-456-7890) or an error message if invalid. */ function get_phone() { // Local helper function as an anonymous function $format_phone = function ($num) { $num = preg_replace("/[^0-9]/", "", $num); if (strlen($num) < 10) { return "Invalid Number"; } return substr($num, 0, 3) . "-" . substr($num, 3, 3) . "-" . substr($num, 6); }; $num = $_SESSION['SESScampaignphone'] ?? get_option('cta_tel', true); return $format_phone($num); } add_shortcode('op', 'get_phone'); add_filter('gform_field_value_SESSpromoid', 'populate_SESSpromoid'); function populate_SESSpromoid($value) { if (isset($_SESSION["SESSpromoid"])) { return $_SESSION["SESSpromoid"]; } else { return ''; }; }; add_filter('gform_field_value_SESScoupon_code', 'populate_SESScoupon_code'); function populate_SESScoupon_code($value) { if (isset($_SESSION["SESScoupon_code"])) { return $_SESSION["SESScoupon_code"]; } else { return ''; }; }; add_filter('gform_field_value_SESSpromotion_description', 'populate_SESSpromotion_description'); function populate_SESSpromotion_description($value) { if (isset($_SESSION["SESSpromotion_description"])) { return $_SESSION["SESSpromotion_description"]; } else { return ''; }; }; /** * Rewrite WordPress URLs to Include /blog/ in Post Permalink Structure * * @author Golden Oak Web Design * @license https://www.gnu.org/licenses/gpl-2.0.html GPLv2+ */ function blog_generate_rewrite_rules($wp_rewrite) { $new_rules = array( '(([^/]+/)*blog)/page/?([0-9]{1,})/?$' => 'index.php?pagename=$matches[1]&paged=$matches[3]', 'blog/([^/]+)/?$' => 'index.php?post_type=post&name=$matches[1]', 'blog/[^/]+/attachment/([^/]+)/?$' => 'index.php?post_type=post&attachment=$matches[1]', 'blog/[^/]+/attachment/([^/]+)/trackback/?$' => 'index.php?post_type=post&attachment=$matches[1]&tb=1', 'blog/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?post_type=post&attachment=$matches[1]&feed=$matches[2]', 'blog/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?post_type=post&attachment=$matches[1]&feed=$matches[2]', 'blog/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$' => 'index.php?post_type=post&attachment=$matches[1]&cpage=$matches[2]', 'blog/[^/]+/attachment/([^/]+)/embed/?$' => 'index.php?post_type=post&attachment=$matches[1]&embed=true', 'blog/[^/]+/embed/([^/]+)/?$' => 'index.php?post_type=post&attachment=$matches[1]&embed=true', 'blog/([^/]+)/embed/?$' => 'index.php?post_type=post&name=$matches[1]&embed=true', 'blog/[^/]+/([^/]+)/embed/?$' => 'index.php?post_type=post&attachment=$matches[1]&embed=true', 'blog/([^/]+)/trackback/?$' => 'index.php?post_type=post&name=$matches[1]&tb=1', 'blog/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?post_type=post&name=$matches[1]&feed=$matches[2]', 'blog/([^/]+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?post_type=post&name=$matches[1]&feed=$matches[2]', 'blog/page/([0-9]{1,})/?$' => 'index.php?post_type=post&paged=$matches[1]', 'blog/[^/]+/page/?([0-9]{1,})/?$' => 'index.php?post_type=post&name=$matches[1]&paged=$matches[2]', 'blog/([^/]+)/page/?([0-9]{1,})/?$' => 'index.php?post_type=post&name=$matches[1]&paged=$matches[2]', 'blog/([^/]+)/comment-page-([0-9]{1,})/?$' => 'index.php?post_type=post&name=$matches[1]&cpage=$matches[2]', 'blog/([^/]+)(/[0-9]+)?/?$' => 'index.php?post_type=post&name=$matches[1]&page=$matches[2]', 'blog/[^/]+/([^/]+)/?$' => 'index.php?post_type=post&attachment=$matches[1]', 'blog/[^/]+/([^/]+)/trackback/?$' => 'index.php?post_type=post&attachment=$matches[1]&tb=1', 'blog/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?post_type=post&attachment=$matches[1]&feed=$matches[2]', 'blog/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?post_type=post&attachment=$matches[1]&feed=$matches[2]', 'blog/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$' => 'index.php?post_type=post&attachment=$matches[1]&cpage=$matches[2]', ); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_action('generate_rewrite_rules', 'blog_generate_rewrite_rules'); function update_post_link($post_link, $id = 0) { $post = get_post($id); if (is_object($post) && $post->post_type == 'post') { return home_url('/blog/' . $post->post_name . '/'); } return $post_link; } add_filter('post_link', 'update_post_link', 1, 3); function skip_redirect($skip_redirect, $post_id, $post) { if ($post->post_type === 'post') { $skip_redirect = true; } return $skip_redirect; } add_filter('wpseo_premium_post_redirect_slug_change', 'skip_redirect', 10, 3); // Google Tag Manager add_action('wp_head', 'gtm_output', 2); add_action('wp_footer', 'gtm_datalayer_init', 10); add_action('body_top', 'gtm_noscript_output'); function gtm_output() { ?> 'CTA Primary', 'selector' => 'a', 'classes' => ['button--primary'], ], [ 'title' => 'CTA Secondary', 'selector' => 'a', 'classes' => ['btn', 'btn-secondary'], ], [ 'title' => 'CTA Tertiary', 'selector' => 'a', 'classes' => ['btn', 'btn-outline-primary'], ], ]); // die(var_dump($init_array)); return $init_array; });