<?php /** * Created by PhpStorm. * User: sarahetter * Date: 15-09-17 * Time: 4:47 PM */ class Subtemplate { public function loopSubtemplates() { global $post; $id = $post->ID; $result = ''; if (have_rows('subtemplate',$id)) { while (have_rows('subtemplate',$id)) { the_row(); $subtemplateType = get_sub_field('subtemplate_type'); $subtemplateTitle = get_sub_field('section_title'); switch ($subtemplateType) { case 'featurecirclesicons': $result .= $this->featureCirclesIcons($subtemplateTitle); break; case 'featurecircles': $result .= $this->featureCircles($subtemplateTitle); break; case 'casestudies': $result .= $this->caseStudies($subtemplateTitle); break; case 'slides': $result .= $this->slides($subtemplateTitle); break; case 'oldnew': $result .= $this->oldNew($subtemplateTitle); break; case 'existingnew': $result .= $this->existingNew($subtemplateTitle); break; case 'threecolumn': $result .= $this->columns($subtemplateTitle); break; case 'productoverview': $result .= $this->productOverview($subtemplateTitle); break; case 'getstartedfast': $result .= $this->startedFast($subtemplateTitle); break; case 'bluebox': $result .= $this->blueBox($subtemplateTitle); break; case 'createaccount': $result .= $this->createAccount($subtemplateTitle); break; case 'galleries': $result .= $this->galleries($subtemplateTitle); break; case 'blogfeatures': $result .= $this->blogFeatures(); break; case 'mediafeature': $result .= $this->galleries($subtemplateTitle); break; case 'content': $result .= $this->content($subtemplateTitle); break; case 'contentBoxed': $result .= $this->contentBoxed($subtemplateTitle); break; case 'team': $result .= $this->team($subtemplateTitle); break; case 'pricing': $result .= $this->pricing($subtemplateTitle); break; case 'teamGeneral': $result .= $this->teamGeneral($subtemplateTitle); break; case 'image': $result .= $this->image($subtemplateTitle); break; case 'faq': $result .= $this->faq($subtemplateTitle); break; case 'values': $result .= $this->values($subtemplateTitle); break; case 'careers': $result .= $this->careers($subtemplateTitle); break; case 'mediadetail': $result .= $this->mediaDetail($subtemplateTitle); break; case 'download': $result .= $this->download($subtemplateTitle); break; case 'contact': $result .= $this->contactPage($subtemplateTitle); break; case 'events': $result .= $this->eventPage($subtemplateTitle); break; } } } return $result; } public function featureCirclesIcons($subtemplateTitle) { $featureCircles = ''; if (have_rows('feature_circles_w_icon')) { while (have_rows('feature_circles_w_icon')) { the_row(); $title = get_sub_field('title'); $icon = get_sub_field('icon')['url']; $description = get_sub_field('description'); $featureCircles .= "<article class='feature-circle'> <img src='{$icon}' alt='{$title} Icon'> <h1>{$title}</h1> <div class='description'>{$description}</div> </article>"; } } $result = "<section class='subtemplate feature-circles'><div class='centered-header'><div class='column-container'>{$featureCircles}</div></div></section>"; return $result; } public function featureCircles($subtemplateTitle) { $featureCircles = ''; if (have_rows('feature_circles_w_icon')) { while (have_rows('feature_circles_w_icon')) { the_row(); $title = get_sub_field('title'); $description = get_sub_field('description'); $featureCircles .= "<article class='surround-circle'> <div class='circle'> <div class='container'> <div class='wrapper'> <div class='inner'> <h1>{$title}</h1> <div class='description'>{$description}</div> </div> </div> </div> </div> </article>"; } } $result = "<section class='subtemplate feature-circles'><div class='centered-header'>{$featureCircles}</div></section>"; return $result; } public function columns($subtemplateTitle) { $descriptiveColumns = ''; $content = get_sub_field('content'); if (have_rows('short_description')) { while (have_rows('short_description')) { the_row(); $colTitle = get_sub_field('title'); $colContent = get_sub_field('content'); $descriptiveColumns .= "<article class='short-description'> <h1>{$colTitle}</h1> <div class='description'>{$colContent}</div> </article>"; } } $result = "<section class='subtemplate short-descriptions'><div class='centered-content'><h1>{$subtemplateTitle}</h1><div>{$content}</div><div class='column-container'>{$descriptiveColumns}</div></div></section>"; return $result; } public function caseStudies($subtemplateTitle) { $caseStudies = ''; if (have_rows('case_study')) { while (have_rows('case_study')) { the_row(); $content = get_sub_field('content'); $bgImage = get_sub_field('background_image')['url']; $caseStudies .= "<article class='case-study' style='background-image:url({$bgImage})'> <div class='centered-header'> <div class='description'>{$content}</div> </div> </article>"; } } $result = "<section class='subtemplate case-studies'><div class='slide-container'>{$caseStudies}</div><div class='slider-action' id='back'><span></span></div><div class='slider-action' id='forward'><span></span></div></section>"; return $result; } public function slides($subtemplateTitle) { $caseStudies = ''; if (have_rows('slides')) { while (have_rows('slides')) { the_row(); $content = get_sub_field('content'); $image = get_sub_field('image')['url']; $imageAlt = get_sub_field('image')['alt']; $caseStudies .= "<article class='case-study'> <div class='centered-header'> <img src='{$image}' alt='{$imageAlt}'> <div class='description'>{$content}</div> </div> </article>"; } } $result = "<section class='subtemplate slides case-studies'><div class='slide-container'>{$caseStudies}</div><div class='slider-action' id='back'></div><div class='slider-action' id='forward'></div></section>"; return $result; } public function oldNew($subtemplateTitle) { $oldNewRows = ''; if (have_rows('old_way__new_way')) { while (have_rows('old_way__new_way')) { the_row(); $oldway = get_sub_field('old_way_text'); $newway = get_sub_field('new_way_text'); $oldNewRows .= "<tr class='old-new'> <td class='old'>{$oldway}</td> <td class='new'>{$newway}</td> </tr>"; } } $result = "<section class='subtemplate old-new'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <table> <thead><tr><th>Old Way</th><th>New Way</th></tr></thead> <tbody>{$oldNewRows}</tbody> </table> </div> </section>"; return $result; } public function productOverview($subtemplateTitle) { $imageUrl = get_sub_field('image')['url']; $imageAlt = get_sub_field('image')['alt']; $headingSize = get_sub_field('heading_size'); $content = get_sub_field('content'); $result = "<section class='subtemplate product-overview {$headingSize}'> <div class='centered-prodFeat'> <img src='{$imageUrl}' alt='{$imageAlt}'> <div class='text-column'> <h1 class='{$headingSize}'>{$subtemplateTitle}</h1> <div>{$content}</div> </div> </div> </section>"; return $result; } public function blueBox($subtemplateTitle) { $content = get_sub_field('content'); $result = "<section class='subtemplate blue-box'> <div class='centered-content'> <article class='blue-copy'> <h1>{$subtemplateTitle}</h1> <div>{$content}</div> </article> </div> </section>"; return $result; } public function createAccount($subtemplateTitle) { $buttonText = get_sub_field('create_free_account_text'); $signUpLink = get_field('sign_up_link','option'); $backgroundImg = get_sub_field('image')['url']; $result = "<section class='subtemplate sign-up' style='background-image: url({$backgroundImg})'> <div class='centered-content'> <a href='{$signUpLink}' class='button blue-overPic'>{$buttonText}</a> </div> </section>"; return $result; } public function galleries($subtemplateTitle) { $galleryLink = get_sub_field('gallery_page'); $galleriesImgUrl = get_sub_field('galleries_image')['url']; $galleriesImgAlt = get_sub_field('galleries_image')['alt']; $galleryMarkup = ''; if ($galleryLink) { $galleryMarkup = "<a href='{$galleryLink}' class='button white-blue'>Read more</a>"; } $result = "<section class='subtemplate galleries-marketplaces'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <img src='{$galleriesImgUrl}' alt='{$galleriesImgAlt}'> {$galleryMarkup} </div> </section>"; return $result; } public function blogFeatures($page = "home") { $blogFeatures = ''; $subtemplateTitle = get_sub_field('section_title'); if (have_rows('blog_features','option')) { while (have_rows('blog_features','option')) { the_row(); $title = get_sub_field('feature_title'); $feature = get_sub_field('post'); $postTitle = $feature->post_title; $url = get_permalink($feature->ID); $content = substr($feature->post_content, 0, 144) . '...'; $date = date('F Y',$feature->post_date); $image = wp_get_attachment_image_src(get_post_thumbnail_id($feature->ID),'blog-feature-crop')[0]; if ($page == "home") { $blogFeatures .= "<a href='{$url}'><article class='blog'><div> <img src='{$image}' alt='{$postTitle} Image'> <h2>{$title}</h2> <h1>{$postTitle}</h1></div> </article></a>"; } else { $blogFeatures .= "<a href='{$url}'><article class='blog'> <h1>{$postTitle}</h1> <time>{$date}</time> <div>{$content}</div> </article></a>"; } } } if ($page == "home") { $result = "<section class='subtemplate blog-features'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <div class='column-container'> {$blogFeatures} </div> </div> </section>"; } else { $result = "<section class='sidebar-blog-features'> {$blogFeatures} </section>"; } return $result; } public function team($subtemplateTitle) { $content = get_sub_field('content'); $meetTeamLink = get_sub_field('meet_the_team_link'); $numberOfPeople = get_sub_field('number_of_people_to_display'); $args = array( 'post_type' => 'team', 'order' => 'DESC', 'posts_per_page' => $numberOfPeople ); $teamMembers = get_posts($args); $teamMemberMarkup = ''; if (!empty($teamMembers)) { foreach ($teamMembers as $teamMember) { $id = $teamMember->ID; $name = $teamMember->post_title; $role = get_field('role',$id); $image = get_field('image',$id)['url']; $hoverimage = get_field('hover_image',$id)['url']; if (!$hoverimage) { $hoverimage = $image; } $facebook = get_field('facebook_link',$id); $themeUrl = WPTHEME_TEMPLATE_URL . '/'; if ($facebook) { $facebookIcon = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve" class="social-icon replaced-svg"> <path d="M17.502747,3.688797H6.498352c-1.513306,0-2.751221,1.237915-2.751221,2.75122v11.003296 c0,1.514038,1.237915,2.751221,2.751221,2.751221h6.271484v-6.535889h-2.172913v-2.698975h2.172913V9.601334 c0-1.9469,1.461792-3.530945,3.259399-3.530945h2.172974v2.69043h-2.172974c-0.256165,0-0.54303,0.348633-0.54303,0.814941v1.383911 h2.716003v2.698975h-2.716003v6.535889h2.016541c1.513,0,2.750122-1.237183,2.750122-2.751221V6.440017 C20.252869,4.926712,19.015747,3.688797,17.502747,3.688797z"></path> </svg>'; $facebook = "<a href='{$facebook}' target='_blank' class='facebook'>{$facebookIcon}</a>"; } $github = get_field('github_link',$id); if ($github) { $gitIcon = '<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve" class="social-icon"> <path d="M12,2.675904c-5.246338,0-9.5,4.253662-9.5,9.5c0,4.197998,2.72175,7.758179,6.497035,9.01409 c0.474889,0.086985,0.648264-0.206421,0.648264-0.456909c0-0.226143-0.008702-0.975271-0.013341-1.768484 C6.990234,19.538626,6.43185,17.84436,6.43185,17.84436c-0.432547-1.097046-1.054723-1.389282-1.054723-1.389282 c-0.863368-0.589111,0.065498-0.577515,0.065498-0.577515c0.953823,0.066092,1.455986,0.97876,1.455986,0.97876 c0.847726,1.451904,2.224244,1.032104,2.764649,0.788574c0.086353-0.612305,0.332203-1.032104,0.603027-1.268677 C8.157435,16.136179,5.939,15.320923,5.939,11.680717c0-1.037912,0.370518-1.884452,0.977015-2.549525 C6.819179,8.88998,6.492153,7.923392,7.009939,6.61588c0,0,0.796701-0.255127,2.612722,0.974121 c0.757255-0.211635,1.569615-0.316005,2.377319-0.319493c0.80713,0.003488,1.620047,0.109009,2.378489,0.320643 c1.81257-1.230398,2.610421-0.974121,2.610421-0.974121c0.519531,1.308681,0.192505,2.2741,0.095093,2.514161 c0.608816,0.665073,0.97644,1.511631,0.97644,2.549525c0,3.649484-2.221924,4.453124-4.338308,4.688546 c0.342111,0.294556,0.644775,0.87207,0.644775,1.758057c0,1.269846-0.012766,2.293823-0.012766,2.606934 c0,0.252808,0.172782,0.548513,0.654053,0.45574C18.780588,19.931763,21.5,16.371582,21.5,12.175903 C21.5,6.929566,17.246338,2.675904,12,2.675904z"/> </svg> '; $github = "<a href='{$github}' target='_blank' class='github'>{$gitIcon}</a>"; } $linkedin = get_field('linkedin_link',$id); if ($linkedin) { $linkedIcon = '<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve" class="social-icon"> <g> <rect x="5.017809" y="8.190847" width="3.427236" height="11.995403"/> <path d="M18.100838,8.8747c-1.275997-0.716306-3.158699-0.776488-4.514939-0.15739V8.190847h-3.427236v11.995403h3.427236 v-7.671779l1.41224-0.679668c0.346379-0.166374,1.10544-0.151271,1.426956,0.02951 c0.242357,0.135392,0.588039,0.696245,0.588039,1.039294v7.282643h3.427237v-7.282643 C20.440371,11.328789,19.456303,9.633682,18.100838,8.8747z"/> <circle cx="6.731427" cy="4.763844" r="2.141945"/> </g> </svg> '; $linkedin = "<a href='{$linkedin}' target='_blank' class='linkedin'>{$linkedIcon}</a>"; } $twitter = get_field('twitter_link',$id); if ($twitter) { $twitIcon = '<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve" class="social-icon"> <path d="M22.021578,5.726143c-0.737148,0.32688-1.530106,0.548534-2.361347,0.647079 c0.849844-0.508886,1.501448-1.314126,1.80793-2.274726c-0.794682,0.471035-1.67498,0.813644-2.611732,0.997087 c-0.749146-0.79856-1.818058-1.297966-3.00103-1.297966c-2.270847,0-4.111745,1.841544-4.111745,4.111745 c0,0.322642,0.035769,0.636161,0.106231,0.936753c-3.418051-0.171879-6.44781-1.807929-8.476029-4.296983 C3.02004,5.158,2.817276,5.864336,2.817276,6.617646c0,1.425673,0.725657,2.684709,1.828974,3.422288 c-0.673368-0.020685-1.307806-0.206571-1.86223-0.513483c0,0.016879,0,0.03541,0,0.050853 c0,1.993814,1.416838,3.654788,3.298388,4.032162c-0.344693,0.096103-0.708419,0.144873-1.083637,0.144873 c-0.264822,0-0.522605-0.024565-0.773349-0.073334c0.522892,1.633608,2.041148,2.8229,3.841321,2.854791 c-1.407716,1.10339-3.180954,1.760237-5.107755,1.760237c-0.332123,0-0.659362-0.018244-0.980567-0.056814 c1.819852,1.165447,3.981596,1.8465,6.304014,1.8465c7.563841,0,11.699073-6.265157,11.699073-11.699072 c0-0.179564-0.00388-0.357046-0.011206-0.531655C20.774107,7.274566,21.47168,6.550345,22.021578,5.726143z"/> </svg>'; $twitter = "<a href='{$twitter}' target='_blank' class='twitter'>{$twitIcon}</a>"; } $website = get_field('personal_website_link',$id); if ($website) { $webIcon = '<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> <path d="M11.585175,2.610985c-5.153222,0-9.330716,4.177494-9.330716,9.330647c0,5.153222,4.177494,9.330716,9.330716,9.330716 c5.153154,0,9.330647-4.177494,9.330647-9.330716C20.915821,6.788479,16.738329,2.610985,11.585175,2.610985z M7.504134,13.917454 H6.899088L6.33973,12.170231c-0.129035-0.408097-0.23461-0.771125-0.325366-1.202065H5.999546 c-0.091374,0.43835-0.204357,0.816195-0.333392,1.210092l-0.589611,1.739197H4.471498l-1.104517-3.660525h0.680985 l0.484036,1.860824c0.105574,0.408097,0.204357,0.786559,0.27227,1.164404h0.022843 c0.083348-0.370436,0.204358-0.763716,0.325366-1.156995l0.597019-1.868233h0.559976l0.566767,1.829954 c0.136444,0.438967,0.242018,0.824838,0.325366,1.195273h0.022843c0.060504-0.370436,0.15867-0.756307,0.279679-1.187247 l0.521698-1.83798h0.658141L7.504134,13.917454z M13.155752,13.917454h-0.605045l-0.559359-1.747223 c-0.129035-0.408097-0.23461-0.771125-0.325366-1.202065h-0.014818c-0.091373,0.43835-0.204357,0.816195-0.333392,1.210092 l-0.58961,1.739197h-0.605045L9.0186,10.256928h0.680984l0.484036,1.860824c0.105575,0.408097,0.204357,0.786559,0.27227,1.164404 h0.022844c0.083347-0.370436,0.204357-0.763716,0.325366-1.156995l0.597019-1.868233h0.559976l0.566767,1.829954 c0.136444,0.438967,0.242019,0.824838,0.325367,1.195273h0.022843c0.060505-0.370436,0.15867-0.756307,0.279679-1.187247 l0.521697-1.83798h0.658141L13.155752,13.917454z M18.807371,13.917454h-0.605045l-0.559359-1.747223 c-0.129036-0.408097-0.23461-0.771125-0.325367-1.202065h-0.014818c-0.091373,0.43835-0.204357,0.816195-0.333391,1.210092 l-0.589611,1.739197h-0.605045l-1.104517-3.660525h0.680985l0.484036,1.860824 c0.105574,0.408097,0.204357,0.786559,0.27227,1.164404h0.022842c0.083349-0.370436,0.204359-0.763716,0.325367-1.156995 l0.597019-1.868233h0.559977l0.566767,1.829954c0.136444,0.438967,0.242018,0.824838,0.325367,1.195273h0.022842 c0.060505-0.370436,0.15867-0.756307,0.27968-1.187247l0.521696-1.83798h0.658142L18.807371,13.917454z"/> </svg>'; $website = "<a href='{$website}' target='_blank' class='twitter'>{$webIcon}</a>"; } $teamMemberMarkup .= "<article class='team-member'> <img src='{$image}' alt='Picture of {$name}' data-hover='{$hoverimage}' data-regular='{$image}'> <h1>{$name}</h1> <h2>{$role}</h2> {$facebook} {$github} {$linkedin} {$twitter} {$website} </article>"; } } $result = "<section class='subtemplate team tour-page'> <div class='centered-content'> <div class='intro'>{$content}</div> <div class='column-container'>{$teamMemberMarkup}</div> <a href='{$meetTeamLink}' class='button white-blue'>Meet the Team</a> </div> </section>"; return $result; } public function teamGeneral($subtemplateTitle) { $content = get_sub_field('content'); $args = array( 'post_type' => 'team', 'order' => 'DESC', 'posts_per_page' => -1 ); $teamMembers = get_posts($args); $teamMemberMarkup = ''; if (!empty($teamMembers)) { foreach ($teamMembers as $teamMember) { $id = $teamMember->ID; $name = $teamMember->post_title; $role = get_field('role',$id); $image = get_field('image',$id)['url']; $facebook = get_field('facebook_link',$id); $themeUrl = WPTHEME_TEMPLATE_URL . '/'; if ($facebook) { $facebook = "<a href='{$facebook}' target='_blank' class='facebook'><img src='{$themeUrl}images/svg/facebook.svg' alt='Facebook' class='social-icon'></a>"; } $github = get_field('github_link',$id); if ($github) { $github = "<a href='{$github}' target='_blank' class='github'><img src='{$themeUrl}images/svg/git.svg' alt='Github' class='social-icon'></a>"; } $linkedin = get_field('linkedin_link',$id); if ($linkedin) { $linkedin = "<a href='{$linkedin}' target='_blank' class='linkedin'><img src='{$themeUrl}images/svg/linkedin.svg' alt='Linkedin' class='social-icon'></a>"; } $twitter = get_field('twitter_link',$id); if ($twitter) { $twitter = "<a href='{$twitter}' target='_blank' class='twitter'><img src='{$themeUrl}images/svg/twitter.svg' alt='Twitter' class='social-icon'></a>"; } $website = get_field('personal_website_link',$id); if ($website) { $website = "<a href='{$website}' target='_blank' class='twitter'><img src='{$themeUrl}images/svg/website.svg' alt='Website' class='social-icon'></a>"; } $teamMemberMarkup .= "<article class='team-member'> <img src='{$image}' alt='Picture of {$name}'> <h1>{$name}</h1> <h2>{$role}</h2> {$facebook} {$github} {$linkedin} {$twitter} {$website} </article>"; } } $result = "<section class='subtemplate team'> <div class='centered-content-padding'> <div class='centered-content'> <div class='intro'>{$content}</div> <div class='column-container'>{$teamMemberMarkup}</div> </div> </div> </section>"; return $result; } public function content($subtemplateTitle) { $content = get_sub_field('content'); $bgColor = get_sub_field('background_color'); $result = "<section class='subtemplate content {$bgColor}'> <div class='centered-content-padding'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <div>{$content}</div> </div> </div> </section>"; return $result; } public function contentBoxed($subtemplateTitle) { $content = get_sub_field('content'); $result = "<section class='subtemplate content-boxed'> <div class='centered-content-padding'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <div>{$content}</div> </div> </div> </section>"; return $result; } public function image($subtemplateTitle) { $image = get_sub_field('image')['url']; $imageAlt = get_sub_field('image')['alt']; $result = "<section class='subtemplate image'> <div class='centered-content-padding'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <div><img src='{$image}' alt='{$imageAlt}'></div> </div> </div> </section>"; return $result; } public function faq($subtemplateTitle) { $featuredFAQ = '<dl class="featured-faqs">'; if (have_rows('featured_faqs')) { while (have_rows('featured_faqs')) { the_row(); $question = get_sub_field('question'); $answer = get_sub_field('answer'); $featuredFAQ .= "<dt>{$question}</dt> <dd>{$answer}</dd>"; } } $featuredFAQ .= "</dl>"; $regularFAQ = '<dl class="regular-faqs">'; if (have_rows('regular_faqs')) { while (have_rows('regular_faqs')) { the_row(); $question = get_sub_field('question'); $answer = get_sub_field('answer'); $regularFAQ .= "<dt>Q: {$question}</dt> <dd>A: {$answer}</dd>"; } } $regularFAQ .= "</dl>"; $result = "<section class='subtemplate faq'> <div class='centered-content-padding'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> {$featuredFAQ} {$regularFAQ} </div> </div> </section>"; return $result; } public function values($subtemplateTitle) { $values = ''; if (have_rows('ascribe_values')) { while (have_rows('ascribe_values')) { the_row(); $title = get_sub_field('value_title'); $description = get_sub_field('value_description'); $values .= "<article class='value'> <h1>{$title}</h1> <div class='description'>{$description}</div> </article>"; } } $result = "<section class='subtemplate values'><div class='centered-content-padding'><div class='centered-content'> <h1>{$subtemplateTitle}</h1> <div class='column-container'>{$values}</div> </div></div></section>"; return $result; } public function careers($subtemplateTitle) { $args = array( 'post_type' => 'career', 'order' => 'ASC' ); $careers = get_posts($args); $careerMarkup = ''; if (!empty($careers)) { foreach ($careers as $career) { $id = $career->ID; $name = $career->post_title; $url = get_permalink($id); $careerMarkup .= "<li class='career'><a href='{$url}'>{$name}</a></li>"; } } $result = "<section class='subtemplate careers'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <ul>{$careerMarkup}</ul> </div> </section>"; return $result; } public function mediaDetail($subtemplateTitle) { $image = get_sub_field('image')['url']; $args = array( 'post_type' => 'presscoverage', 'order' => 'ASC', 'posts_per_page' => 50 ); $pressItems = get_posts($args); $pressMarkup = ''; if (!empty($pressItems)) { foreach ($pressItems as $item) { $id = $item->ID; $name = $item->post_title; $url = get_field('link_to_article',$id); $pubDate= get_field('date_published',$id); $quote = get_field('quote',$id); $pressMarkup .= "<article class='press-article'> <h1><a href='{$url}'>{$name}</a></h1> <time>{$pubDate}</time> <blockquote>{$quote}</blockquote> </article>"; } } $result = "<section class='subtemplate press-articles'> <div class='centered-content-padding'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <img src='{$image}' alt='Media Companies'> <div>{$pressMarkup}</div> <!--<a href='#' id='more-articles' class='button blue'>Show More</a>--> </div> </div> </section>"; return $result; } public function download($subtemplateTitle) { $leftUrl = get_sub_field('left_button_url'); $leftText = get_sub_field('left_button_text'); $rightUrl = get_sub_field('right_button_url'); $rightText = get_sub_field('right_button_text'); $result = "<section class='subtemplate downloads'> <div class='centered-content-padding'> <div class='centered-content'> <a href='{$leftUrl}' download class='left button blue'>{$leftText}</a> <a href='{$rightUrl}' download class='right button blue'>{$rightText}</a> </div> </div> </section>"; return $result; } public function contactPage($subtemplateTitle) { $contactPoints = ''; $content = get_sub_field('content'); if (have_rows('contact_point')) { while (have_rows('contact_point')) { the_row(); $title = get_sub_field('contact_description'); $contactInfo = get_sub_field('contact_details'); $contactPoints .= "<article class='contact-point'> <h1>{$title}</h1> <div>{$contactInfo}</div> </article>"; } } $result = "<section class='subtemplate contact'> <div class='centered-content-padding'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <div class='column-container'> <div class='form'>{$content}</div> <aside class='contact-points'>{$contactPoints}</aside> </div> </div> </div> </section>"; return $result; } public function eventPage($subtemplateTitle) { $datePage = get_query_var('date'); if (empty($datePage)) { return $this->mainEventPage($subtemplateTitle); } else { if (!preg_match('/2\d{7}$|all/',$datePage)) { return $this->mainEventPage($subtemplateTitle); } $args = ''; if ($datePage === 'all') { $args = array( 'post_type' => 'event', 'order' => 'DESC', 'orderby' => 'meta_value', 'meta_key' => 'date', 'posts_per_page' => -1 ); } else { $firstOfMonth = DateTime::createFromFormat('Ymd',$datePage); $month = $firstOfMonth->format('m'); $year = $firstOfMonth->format('Y'); $daysInMonth = cal_days_in_month(CAL_GREGORIAN,$month,$year); $startDate = $year.$month.'01'; $endDate = $year.$month.$daysInMonth; $args = array( 'post_type' => 'event', 'order' => 'ASC', 'orderby' => 'meta_value', 'meta_key' => 'date', 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => 'date', 'value' => $startDate, 'compare' => '>=', ), array( 'key' => 'date', 'value' => $endDate, 'compare' => '<=' ) ) ); } $events = get_posts($args); $eventMarkup = ''; $dateInLoop = ''; $lastDate = ''; if (!empty($events)) { foreach ($events as $item) { $id = $item->ID; $name = $item->post_title; $url = get_field('link_to_event',$id); $pubDate= get_field('date',$id); $quote = get_field('description',$id); $dateInLoop = date_create_from_format('F j, Y', $pubDate); $dateInLoop = date_format($dateInLoop, 'F Y'); $header = ''; if ($dateInLoop !== $lastDate) { $header = "<h2><span>{$dateInLoop}</span></h2>"; } $eventMarkup .= "{$header} <article class='event'> <h1><a href='{$url}'>{$name}</a></h1> <time>{$pubDate}</time> <blockquote>{$quote}</blockquote> </article>"; $lastDate = $dateInLoop; } } else { $eventMarkup = "<p>There are no events for this time period</p>"; } $sidebar = $this->eventSidebar(); $result = "<section class='subtemplate upcoming-events'> <div class='centered-content-padding'> <div class='centered-content'> <div class='event-container'> <h1>Events</h1> <div>{$eventMarkup}</div> </div> {$sidebar} </div> </div> </section>"; return $result; } } public function existingNew($subtemplateTitle) { $existing = get_sub_field('existing_marketplace_content'); $new = get_sub_field('new_marketplace_content'); $result = "<section class='subtemplate existing-new'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <div class='column-container'> <div data-tab='existing' class='top-tab active'><div>Existing Marketplace</div></div> <div data-tab='new' class='top-tab'><div>New Marketplace</div></div> </div> <div id='existing' class='content marketplace-info active'><h1 class='phone-only'>Existing Marketplace</h1>{$existing}</div> <div id='new' class='content marketplace-info'><h1 class='phone-only'>New Marketplace</h1>{$new}</div> </div> </section>"; return $result; } public function startedFast($subtemplateTitle) { $content = get_sub_field('content'); $apiImg = get_sub_field('api_image')['url']; $whiteImg = get_sub_field('white_label_marketplace_image')['url']; $apiText = get_sub_field('api_text'); $whiteText = get_sub_field('white_label_text'); $result = "<section class='subtemplate get-started'> <div class='centered-content'> <h1>{$subtemplateTitle}</h1> <div class='description'>{$content}</div> <div class='column-container'> <div class='api methods-of-use'> <h1>API</h1> <img src='{$apiImg}' alt='API'> {$apiText} </div> <div class='white-label methods-of-use'> <h1>White Label Marketplace</h1> <img src='{$whiteImg}' alt='White Label Marketplace'> {$whiteText} </div> </div> </div> </section>"; return $result; } public function pricing($subtemplateTitle) { $bgImg = get_sub_field('background_image')['url']; $rightPricing = get_sub_field('right_pricing_text'); $leftPricing = get_sub_field('left_pricing_text'); $contactPage = get_field('contact_page','option'); $result = "<section class='subtemplate pricing' style='background-image:url({$bgImg})'> <div class='centered-pricing'> <h1>{$subtemplateTitle}</h1> <div class='column-container'> <div class='pricing-detail'><div>{$leftPricing}</div></div> <div class='pricing-detail'><div>{$rightPricing}</div></div> </div> <a href='{$contactPage}'>Contact us to discuss custom pricing</a> </div> </section>"; return $result; } public function mainEventPage($subtemplateTitle) { $today = date('Ymd'); $args = array( 'post_type' => 'event', 'order' => 'ASC', 'orderby' => 'meta_value', 'meta_key' => 'date', 'posts_per_page' => 20, 'meta_query' => array( array( 'key' => 'date', 'value' => $today, //array 'compare' => '>=', ) ) ); $futureEvents = get_posts($args); $futureMarkup = ''; $dateInLoop = ''; $lastDate = ''; if (!empty($futureEvents)) { foreach ($futureEvents as $item) { $id = $item->ID; $name = $item->post_title; $url = get_field('link_to_event',$id); $pubDate= get_field('date',$id); $quote = get_field('description',$id); $dateInLoop = date_create_from_format('F j, Y', $pubDate); $dateInLoop = date_format($dateInLoop, 'F Y'); $header = ''; if ($dateInLoop !== $lastDate) { $header = "<h2><span>{$dateInLoop}</span></h2>"; } $futureMarkup .= "{$header} <article class='event'> <h1><a href='{$url}'>{$name}</a></h1> <time>{$pubDate}</time> <blockquote>{$quote}</blockquote> </article>"; $lastDate = $dateInLoop; } } $args = array( 'post_type' => 'event', 'order' => 'DESC', 'orderby' => 'meta_value', 'meta_key' => 'date', 'posts_per_page' => 10, 'meta_query' => array( array( 'key' => 'date', 'value' => $today, //array 'compare' => '<', ) ) ); $pastEvents = get_posts($args); $pastMarkup = ''; $lastDate = ''; if (!empty($pastEvents)) { foreach ($pastEvents as $item) { $id = $item->ID; $name = $item->post_title; $url = get_field('link_to_event',$id); $pubDate= get_field('date',$id); $quote = get_field('description',$id); $dateInLoop = date_create_from_format('F j, Y', $pubDate); $dateInLoop = date_format($dateInLoop, 'F Y'); $header = ''; if ($dateInLoop !== $lastDate) { $header = "<h2><span>{$dateInLoop}</span></h2>"; } $pastMarkup .= "{$header} <article class='event'> <h1><a href='{$url}'>{$name}</a></h1> <time>{$pubDate}</time> <blockquote>{$quote}</blockquote> </article>"; $lastDate = $dateInLoop; } } $sidebar = $this->eventSidebar(); $result = "<section class='subtemplate upcoming-events'> <div class='centered-content-padding'> <div class='centered-content'> <div class='event-container'> <h1>Upcoming Events</h1> <div>{$futureMarkup}</div> </div> {$sidebar} </div> </div> </section> <div class='chevron-divider'></div> <section class='subtemplate past-events'> <div class='centered-content-padding'> <div class='centered-content'> <div class='event-container'> <h1>Past Events</h1> <div>{$pastMarkup}</div> </div> </div> </div> </section>"; return $result; } public function eventSidebar() { $today = date('Ymd'); $args = array( 'post_type' => 'event', 'order' => 'ASC', 'orderby' => 'meta_value', 'meta_key' => 'date', 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => 'date', 'value' => $today, //array 'compare' => '>=', ) ) ); $url = get_home_url(); $futureEvents = get_posts($args); $futureListItems = ''; $dateInLoop = ''; $lastDate = ''; if (!empty($futureEvents)) { foreach ($futureEvents as $item) { $id = $item->ID; $pubDate= get_field('date',$id); $dateInLoop = date_create_from_format('F j, Y', $pubDate); $dateTitle = date_format($dateInLoop, 'F Y'); $dateForLink = date_format($dateInLoop,'Y').date_format($dateInLoop,'m').'01'; if ($dateTitle !== $lastDate) { $url = get_home_url(); $futureListItems .= "<li><a href='{$url}/events/?date={$dateForLink}'>{$dateTitle}</a></li>"; } $lastDate = $dateTitle; } } $args = array( 'post_type' => 'event', 'order' => 'DESC', 'orderby' => 'meta_value', 'meta_key' => 'date', 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => 'date', 'value' => $today, //array 'compare' => '<', ) ) ); $pastEvents = get_posts($args); $pastListItems = ''; $lastDate = ''; if (!empty($pastEvents)) { foreach ($pastEvents as $item) { $id = $item->ID; $pubDate= get_field('date',$id); $dateInLoop = date_create_from_format('F j, Y', $pubDate); $dateTitle = date_format($dateInLoop, 'F Y'); $dateForLink = date_format($dateInLoop,'Y').date_format($dateInLoop,'m').'01'; if ($dateTitle !== $lastDate) { $pastListItems .= "<li><a href='{$url}/events/?date={$dateForLink}'>{$dateTitle}</a></li>"; } $lastDate = $dateTitle; } } $result = "<aside class='event-archives'> <h1>Upcoming Events</h1> <ul> {$futureListItems} </ul> <h1>Past Events</h1> <ul> {$pastListItems} </ul> <h1><a href='{$url}/events/?date=all'>Show All</a></h1> </aside>"; return $result; } }