Snippets

PHP

Een stukje code die de standplaats van een viskar laat zijn als deze nu op locatie is en een ander bericht toont indien hij nergens is.

<?php
	$date = date('l');
	$results = false;
	$dateReplace = str_replace(array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'),array('Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag','Zondag'), $date);
	if (have_rows('standplaatsen','options')) {
		while (have_rows('standplaatsen','options')) { the_row();
			$dagen = get_sub_field_object('dag');
			$value = $dagen['value'];
			$dagenString = $dagen['choices'][$value];
			if ($dagenString == $dateReplace )
			{
				$results = true;
				$vartijd = new DateTime("now", new DateTimeZone('Europe/Amsterdam'));
				$vartijd->setTimestamp(time());
				$tijd = $vartijd->format('H:i');
				$minTijd = get_sub_field('begintijd');
				$maxTijd = get_sub_field('eindtijd');
				if ( $tijd < $minTijd ) { ?>
					<h4><?php the_field('standplaatsen_titel_straks', 'options'); ?></h4>
					<p><a href="<?php the_sub_field('url');?>" target="_blank"><?php the_sub_field('locatie');?></a> van <?php the_sub_field('begintijd');?> tot <?php the_sub_field('eindtijd'); ?></p>
				<?php }
				else if ($tijd > $minTijd && $tijd < $maxTijd)
				{ ?>
					<h4><?php the_field('standplaatsen_titel_nu', 'options'); ?></h4>
					<p><a href="<?php the_sub_field('url');?>" target="_blank"><?php the_sub_field('locatie');?></a> van <?php the_sub_field('begintijd');?> tot <?php the_sub_field('eindtijd'); ?></p>
				<?php } else if ( $tijd > $maxTijd) { ?>
					<h4><?php the_field('standplaatsen_titel_gemist', 'options'); ?></h4>
					<a href="<?php echo site_url(); ?>/standplaatsen">Bekijk hier al onze standplaatsen</a>
				<?php };
			}
		}
	};
	if ($results == false)
 { ?>
			<h4><?php the_field('standplaatsen_titel_geen', 'options'); ?></h4>
			<a href="<?php echo site_url(); ?>/standplaatsen">Bekijk hier al onze standplaatsen</a>
	<?php }
	?>

JavaScript

Een configurator waarbij de gebruiker hun huisnummer kan invullen en direct in de winkelmand kan doen (meerdere cijfers tegelijk).
De configurator heeft ook een achtergrond in verschillende kleuren stenen en verschillende kleuren letters.

		
var configurator = {
kleurkeuze : document.getElementById('kleurkeuze'),
achtergrondkeuze : document.getElementById('achtergrondkeuze'),
prijs: 0,
prijselement : document.getElementById('prijs'),
tekstelement : document.getElementById('tekstpreview'),
tekstwrapper : document.getElementById('voorbeeldtekst'),
tekstpreview : document.getElementById('voorbeeldtekstspan'),
tekstpreviewinner : document.getElementById('voorbeeldteksti')
};				

var tempstring = configurator.tekstelement.value.replace(" ","");
var tempstringArray = tempstring.split();
var kleurIndex = 0;

var ids = new Array();
ids[0] = new Array("3747", "3719", "3715", "3707", "3723", "3727", "3731", "3735", "3739", "3743");
ids[1] = new Array("3748", "3720", "3716", "3708", "3724", "3728", "3732", "3736", "3740", "3744");
ids[2] = new Array("3749", "3721", "3717", "3709", "3725", "3729", "3733", "3737", "3741", "3745");
ids[3] = new Array("4839", "4856", "4860", "4864", "4868", "4872", "4876", "4877", "4879", "4882");
ids[4] = new Array("5206", "5196", "5198", "5199", "5200", "5201", "5202", "5203", "5204", "5205");		

var update = setInterval(function() {
	if ( configurator.tekstpreviewinner.innerHTML != configurator.tekstelement.value )
	{
		configurator.tekstpreviewinner.innerHTML = configurator.tekstelement.value;
		// configurator.tekstpreviewinner.setAttribute('data-content',configurator.tekstelement.value);
	};

	if ( configurator.kleurkeuze.value == 'antraciet') { kleurIndex = 0; configurator.tekstpreview.className = "antraciet"; };
	if ( configurator.kleurkeuze.value == 'grijs') { kleurIndex = 1; configurator.tekstpreview.className = "grijs"; };
	if ( configurator.kleurkeuze.value == 'wit') { kleurIndex = 2; configurator.tekstpreview.className = "wit"; };
	if ( configurator.kleurkeuze.value == 'rvs') { kleurIndex = 3; configurator.tekstpreview.className = "rvs"; };
	if ( configurator.kleurkeuze.value == 'corten') { kleurIndex = 4; configurator.tekstpreview.className = "corten"; };
	if ( configurator.achtergrondkeuze.value == 'rood') { configurator.tekstwrapper.className = "rood"; };
	if ( configurator.achtergrondkeuze.value == 'creme') { configurator.tekstwrapper.className = "creme"; };
	if ( configurator.achtergrondkeuze.value == 'bruin') { configurator.tekstwrapper.className = "bruin"; };
	if ( configurator.achtergrondkeuze.value == 'antraciet') { configurator.tekstwrapper.className = "antraciet"; };
	if ( configurator.achtergrondkeuze.value == 'wit') { configurator.tekstwrapper.className = "wit"; };
	if ( configurator.achtergrondkeuze.value == 'gemengd') { configurator.tekstwrapper.className = "gemengd"; };
	tempstring = configurator.tekstelement.value.replace(" ","");
	tempstringArray = tempstring.split('');
	if ( kleurIndex == 0 || kleurIndex == 1 || kleurIndex == 2)
	{
		if ( tempstring.length < 2 ) { configurator.prijselement.innerText = "Totaalprijs: €" + ((tempstring.length * 32.95).toFixed(2)); }
		if ( tempstring.length == 2 ) { configurator.prijselement.innerText = "Totaalprijs: €" + ((tempstring.length * 30.98).toFixed(2)); }
		if ( tempstring.length > 2 ) { configurator.prijselement.innerText = "Totaalprijs: €" + ((tempstring.length * 27.65).toFixed(2)); }
	}

	if ( kleurIndex == 3)
	{
		if ( tempstring.length < 2 ) { configurator.prijselement.innerText = "Totaalprijs: €" + ((tempstring.length * 19.95).toFixed(2)); }
		if ( tempstring.length == 2 ) { configurator.prijselement.innerText = "Totaalprijs: €" + ((tempstring.length * 19.95).toFixed(2)); }
		if ( tempstring.length > 2 ) { configurator.prijselement.innerText = "Totaalprijs: €" + ((tempstring.length * 19.95).toFixed(2)); }
	}

	if ( kleurIndex == 4)
	{
				if ( tempstring.length < 2 ) { configurator.prijselement.innerText = "Totaalprijs: €" + ((tempstring.length * 49.95).toFixed(2)); }
				if ( tempstring.length == 2 ) { configurator.prijselement.innerText = "Totaalprijs: €" + ((tempstring.length * 49.95).toFixed(2)); }
				if ( tempstring.length > 2 ) { configurator.prijselement.innerText = "Totaalprijs: €" + ((tempstring.length * 49.95).toFixed(2)); }
	}			
}, 250);

function addCartFunction() {
	var overlay = document.getElementById("overlay");
	overlay.classList.add("open");
	var requests = tempstring.length;
	var productids = [];
	var i;
	for( i = 0; i < requests; i++ )
	{
		productids.push( ids[kleurIndex][parseInt(tempstringArray[i])] );
	};
	var data = { 'action': 'customaddtocart', 'id' : productids};
	jQuery.ajax({
		url:'/wp-admin/admin-ajax.php',
		data:data,
		type:'POST',
		success:function(data){
			var link = document.createElement('a');
			link.href = "https://www.wedocreate.nl/winkelmand/";
			document.body.appendChild(link);
			link.click();
			}
	});
	return false;
};