Onderwerpen

⌘K
  1. Onderwerpen
  2. Codeknipsels

Codeknipsels

Dit is een voor ontwikkelaars document. Als u niet bekend bent met code/templates en het oplossen van potentiële conflicten, neem dan contact op met een ontwikkelaar die bekend is met FooEvents en/of WooCommerce.

Belangrijk, eerst lezen #

Deze snippets worden geleverd als een hoffelijkheid en maken geen deel uit van de FooEvents productaanbod. Ze worden beschouwd als maatwerk en worden niet officieel ondersteund door FooEvents. Als zodanig bieden wij geen ondersteuning voor knipsels en aanpassingen volgens onze Servicevoorwaarden. Gebruik op eigen risico.

Bestellingen automatisch voltooien #

Hierdoor worden tickets automatisch verzonden zodra de betaling is ontvangen in plaats van dat de bestelling handmatig moet worden voltooid. Zorg ervoor dat uw evenementproducten zijn ingesteld op "Virtueel" en "Download"zoals uitgelegd in onze helpdocumentatieanders is de volgorde niet automatisch voltooien, zelfs als er is betaald.

Voeg de volgende code toe aan het functies.php bestand of via een plugin waarmee aangepaste functies kunnen worden toegevoegd, zoals de Codeknipsels plugin. Vermijd het rechtstreeks toevoegen van aangepaste code aan het hoofdthema functies.php bestand, omdat het wordt overschreven wanneer je het thema bijwerkt.

Je kunt de status "Voltooid" ook wijzigen in een andere bestelstatus, zoals "Verwerking".

/**
 * Voltooi alle WooCommerce bestellingen automatisch.
 */
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
functie custom_woocommerce_auto_complete_order( $order_id ) {
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    $order->update_status( 'voltooid' );
}

Toon de naam en het e-mailadres van de deelnemer in de beheerdersmail van de Nieuwe bestelling #

Voeg het volgende codefragment toe aan uw thema's functies.php bestand. U kunt de e-mail waarin dit wordt weergegeven wijzigen door een andere haak.

.

[php]
add_action( 'woocommerce_email_klant_details', 'fooevents_display_attendee_details_in_new_order_email', 10 , 4);
functie fooevents_display_attendee_details_in_new_order_email($order, $sent_to_admin, $plain_text, $email){
    echo "<h3>Details deelnemers</h3>";
    $WooCommerceEventsOrderTickets = get_post_meta($order-&gt;get_id(), 'WooCommerceEventsOrderTickets', true);
    foreach($WooCommerceEventsOrderTickets als $event) {
        foreach($event as $ticket) {
            echo "<p>";
            echo '<strong>Voornaam</strong>: '.$ticket['WooCommerceEventsAttendeeName'].'<br />';
            echo '<strong>Achternaam</strong>: '.$icket['WooCommerceEventsAttendeeLastName'].'<br />';
            echo '<strong>E-mailadres</strong>: '.$icket['WooCommerceEventsAttendeeEmail'].'<br />';
            echo "</p>";
        }
    }
}

Toon alle aangepaste deelnemersvelden zonder labels in de beheere-mail Nieuwe bestelling #

Voeg het volgende codefragment toe aan uw thema's functies.php bestand. U kunt de e-mail waarin dit wordt weergegeven wijzigen door een andere haak.

.

[php]
add_action( 'woocommerce_email_klant_details', 'fooevents_display_attendee_details_in_new_order_email', 10 , 4);
functie fooevents_display_attendee_details_in_new_order_email($order, $sent_to_admin, $plain_text, $email){
    echo "<h3>Details deelnemers</h3>";
    $WooCommerceEventsOrderTickets = get_post_meta($order-&gt;get_id(), 'WooCommerceEventsOrderTickets', true);
    foreach($WooCommerceEventsOrderTickets als $event) {
        foreach($event as $ticket) {
            echo "<p>";
            echo '<strong>Voornaam</strong>: '.$ticket['WooCommerceEventsAttendeeName'].'<br />';
            echo '<strong>Achternaam</strong>: '.$icket['WooCommerceEventsAttendeeLastName'].'<br />';
            echo '<strong>E-mailadres</strong>: '.$icket['WooCommerceEventsAttendeeEmail'].'<br />';
            foreach ($ticket['WooCommerceEventsCustomAttendeeFields'] als $caf) {
                 echo $caf.<br />';
            }
            echo "</p>";
        }
    }
}

Aangepaste deelnemersvelden met labels weergeven in de beheermail van de nieuwe bestelling #

Voeg het volgende codefragment toe aan uw thema's functies.php bestand. U kunt de e-mail waarin dit wordt weergegeven wijzigen door een andere haak. Zorg ervoor dat je "ovsxtmynwagotamjqieq" en "ruzwhgbuhzuzzdwnnaxe" in de voorbeeldcode vervangt door jouw specifieke code voor het aangepaste aanwezigheidsveld. Je kunt deze informatie vinden als je een ticket bewerkt en naar elk aangepast aanwezigheidsveld zoekt in het gedeelte "Aangepaste velden". Je moet elk aangepast aanwezigheidsveld en het bijbehorende label afzonderlijk toevoegen.

.

[php]
add_action( 'woocommerce_email_klant_details', 'fooevents_display_attendee_details_in_new_order_email', 10 , 4);
functie fooevents_display_attendee_details_in_new_order_email($order, $sent_to_admin, $plain_text, $email){
    echo "<h3>Details deelnemers</h3>";
    $WooCommerceEventsOrderTickets = get_post_meta($order-&gt;get_id(), 'WooCommerceEventsOrderTickets', true);
    foreach($WooCommerceEventsOrderTickets als $event) {
        foreach($event as $ticket) {
            echo "<p>";
            echo '<strong>Voornaam</strong>: '.$ticket['WooCommerceEventsAttendeeName'].'<br />';
            echo '<strong>Achternaam</strong>: '.$icket['WooCommerceEventsAttendeeLastName'].'<br />';
            echo '<strong>E-mailadres</strong>: '.$icket['WooCommerceEventsAttendeeEmail'].'<br />';
            echo '<strong>Verjaardag</strong>: '.$ticket['WooCommerceEventsCustomAttendeeFields']['fooevents_custom_ovsxtmynwagotamjqieq'].'<br />';
            echo '<strong>Favoriete nummer</strong>: '.$ticket['WooCommerceEventsCustomAttendeeFields']['fooevents_custom_ruzwhgbuhzuzzdwnnaxe'].'<br />';
            echo "</p>";
        }
    }
}

De begintijd van een evenement weergeven op de evenementlijst #

Voeg het volgende codefragment toe aan uw thema's functies.php bestand. Geef de tijd weer door CSS toe te voegen voor de klasse 'fooevents-date'.

Verander de plaatsing van de tijd door een andere haak.

.

[php]
functie fooevents_display_time_in_shop_listing() {
global $post;
if (is_front_page() || is_home() || is_shop() || is_product_category() || is_product_tag()) {
echo '<div class="fooevents-date">';
echo get_post_meta($post-&gt;ID, 'WooCommerceEventsHour', true).':';
echo get_post_meta($post-&gt;ID, 'WooCommerceEventsMinutes', true). ' ';
echo get_post_meta($post-&gt;ID, 'WooCommerceEventsPeriod', true);
echo '</div>';
}
}
add_filter( 'woocommerce_after_shop_loop_item_title', 'fooevents_display_time_in_shop_listing', 35 );[/php]

Geregistreerde deelnemers weergeven in een tabel #

Voeg het volgende codefragment toe aan uw thema's functies.php bestand om alle geregistreerde bezoekers van je evenement in een tabelraster weer te geven. Nadat je het codefragment hebt toegevoegd, kun je de shortcode als volgt gebruiken:

[fooevents_attendees].

om alle aanwezigen voor alle evenementen weer te geven, of op deze manier:

[fooevents_attendees product_id=123]

waarbij "123" de ID is van het evenement waarvoor je de aanwezigheidslijst wilt weergeven.

functie fooevents_display_attendees($attributes) {
 
  $product_id='';
  if(!empty($attributes['product_id'])) {
    $product_id = $attributes['product_id'];
  }

  $output ='';
  $args = array(
    'numberposts' =&gt; -1,
    'posts_per_page' =&gt; -1,
    'post_type' =&gt; 'event_magic_tickets',
    meta_query' =&gt; array(
      'relatie' =&gt; 'OR',
      array(
        'key' =&gt; 'WooCommerceEventsProductID',
        'waarde' =&gt; $product_id,
        vergelijk' =&gt; 'LIKE'.
      )
    )
  );

   $the_query = nieuwe WP_Query( $args );

  if( $the_query-&gt;have_posts() ):
    while ( $the_query-&gt;have_posts() ) : $the_query-&gt;de_post();
    $postid = $the_query-&gt;post-&gt;ID;
     
      // uitvoer van alle bevindingen - AANPASSEN NAAR JOUW LIKING
      $output .= "<tr>";
      $output .= "<td>".get_the_title()."</td>";
      $output .= "<td>".get_post_meta($postid, 'WooCommerceEventsPurchaserFirstName', true)."</td>";
      $output .= "<td>".get_post_meta($postid, 'WooCommerceEventsPurchaserLastName', true)."</td>";
      $output .= "</tr>";
         
    endwhile;
  endif;
  wp_reset_query();
  $output ="<table>".$output."</table>";
  return $output;
   
}
add_shortcode("fooevents_attendees", "fooevents_display_attendees");
[/php]

De evenementdatum voor de titel weergeven op de productpagina #

Wijzig de plaatsing van de datum door een andere haak.

.

[php]
functie fooevents_display_date_on_single() {
  global $post;
  $product = wc_get_product( $post-&gt;ID );
  $start_date = $product-&gt;get_meta( 'WooCommerceEventsDate' );
  $end_date = $product-&gt;get_meta( 'WooCommerceEventsEndDate' );
  if ( $end_date ) {
    printf(
      '<h3>%s</h3>',
      esc_html( $start_date . ' - ' . $end_date )
    );
  } else if( $start_date ) {
    printf(
      '<h3>%s</h3>',
      esc_html( $start_date )
    );
  }
}
add_action( 'woocommerce_single_product_summary', 'fooevents_display_date_on_single' );

Als je de datum van het evenement beschikbaar wilt maken als een shortcode, kun je de volgende regel toevoegen onder de functie:

add_shortcode( "fooevents_date_on_single", "fooevents_display_date_on_single");

Dan kun je de shortcode [fooevents_date_on_single] om de datum van het evenement op de pagina weer te geven.

Vervang het stoelpictogram op de tafelschikking door een andere afbeelding #

Wijzig het volgende CSS-codefragment door de URL toe te voegen aan een andere afbeelding die je wilt gebruiken ter vervanging van de standaardafbeelding van de stoel voor alle stoelen. Voeg het gewijzigde codefragment toe aan het CSS-bestand van je thema.

#fooevents_seating_dialog .fooevents_seating_chart_view_row span {
  achtergrond-afbeelding: url(../images/seat.svg);
}

Verwijder het stoelpictogram op de tafelschikking zodat stoelen worden weergegeven als vakken #

#fooevents_seating_dialog .fooevents_seating_chart_view_row span {
  achtergrondbeeld: geen;
}

De richting van de stoelnummers op de tafelschikking wijzigen #

#fooevents_seating_dialog .fooevents_seating_chart_view_row {
  weergave: flex;
  flex-richting: rij-omgekeerd;
  justify-inhoud: flex-einde;
}

Toon oneven genummerde zitplaatsen aan de rechterkant en even genummerde zitplaatsen aan de linkerkant #

#fooevents_seating_dialog .fooevents_seating_chart_view_row > span:nth-of-type(even) {
  zweven: links;
}

Zitplaatsen in het midden van de tafelschikking weergeven #

[css]
#fooevents_seating_dialog .fooevents_seating_chart_view_row_name,
#fooevents_seating_dialog .fooevents_seating_chart_view_row {
  tekst-uitlijning: centreren;
}
[/css].

Laat de tafelschikking horizontaal scrollen in plaats van stoelen in de volgende rij weer te geven #

Dit kan handig zijn als je veel stoelen per rij hebt en je ze naast elkaar wilt weergeven in plaats van op de volgende rij als ze niet op één regel passen.

#fooevents_seating_dialog .fooevents_seating_chart_view_row {
  overflow-x: scroll;
  witruimte: nowrap;
}

Toon een kalenderrooster op desktops en een kalenderweeklijst op mobiel #

Voeg twee kalender shortcodes toe aan de pagina of post waar je je kalender wilt weergeven. De eerste shortcode geeft een kalenderrooster weer en moet er als volgt uitzien:

[fooevents_calendar id="desktop"].

De tweede shortcode geeft een kalenderweeklijst weer en zou er als volgt uit moeten zien:

[fooevents_calendar id="mobile" defaultView="listWeek"]

Voeg het volgende CSS-codefragment toe aan het aangepaste CSS-bestand van je thema. Zorg ervoor dat de CSS ID selector waarde hetzelfde is als de waarde van het "id" attribuut dat je hebt opgegeven in de shortcode. Je kunt de eigenschap "max-width" aanpassen aan de schermgrootte waarop je wilt dat de kalenderweeklijst wordt weergegeven en het kalenderraster wordt verborgen.

#desktop_voedselgebeurtenissen_kalender {
  weergave: blok;
}
    
#mobile_fooevents_calendar {
  display: none;
}
    
@media screen and (max-width: 600px) {
  #desktop_voedselgebeurtenissen_kalender {
    display: none;
  }
    
  #mobile_fooevents_calendar {
    display: block;
  }    
}

De positie van het pictogram Kopieer kopersgegevens wijzigen #

Het volgende fragment lijnt de kopieerknop uit aan de rechterkant van het label met de eerste naam:

.fooevents-copy-from-purchaser {
	zwevend: rechts;
	marge-bodem:-1.7em
}

Als u geen labels gebruikt maar plaatsaanduidingen voor invoer, gebruik dan het volgende codefragment:

.fooevents-copy-from-purchaser {
	zwevend: rechts;
	marge boven:-2em
}

Toon het tabblad "Gebeurtenisdetails" als eerste op de pagina van de gebeurtenis #

Voeg het volgende codefragment toe aan uw thema's functies.php bestand.

add_filter( 'woocommerce_product_tabs', 'reorder_tabs', 98 );
functie herbestel_tabs( $tabs ) {

    $tabs['woocommerce_events']['priority'] = 1;
    return $tabs;

}

Verwijs alle knoppen 'Toevoegen aan winkelwagentje' naar productpagina's #

Als een product een eenvoudig product is, zal de knop 'Toevoegen aan winkelwagen' standaard automatisch een product toevoegen aan de winkelwagen van de klant. Bij gebruik van de FooEvents Boekingen extensie, kan het nodig zijn dat uw klanten eerst naar de productpagina om de boeking datum en slot te selecteren. Het volgende fragment zorgt ervoor dat wanneer de knop 'Toevoegen aan winkelwagentje' wordt aangeklikt voor eenvoudige producten, de gebruiker wordt doorgestuurd naar de productpagina.

add_filter( 'woocommerce_loop_add_to_cart_link', 'fooevents_modify_add_to_cart_button_url', 10, 2 );
functie fooevents_modify_add_to_cart_button_url( $button, $product ) {
    if (is_product_category() || is_shop()) {
        $button_text = $product-&gt;add_to_cart_text();
        $button_link = $product-&gt;get_permalink();
        $button = '<a class="button" href="/nl/' . $button_link . '/">' . $button_text . '</a>';
        return $button;
    }
}

GRATIS weergeven als de prijs van de gebeurtenis is ingesteld op nul (0) #

Voeg het volgende codefragment toe aan uw thema's functies.php bestand als je evenementen en producten met een prijs van "0" wilt wijzigen in "GRATIS". Je kunt ook het woord "GRATIS" vervangen door een ander woord of een andere zin of het leeg laten als je niets wilt weergeven.

add_filter( 'woocommerce_get_price_html', 'wp_price_free_zero_empty', 100, 2 );
function wp_price_free_zero_empty( $price, $product ) {
	 if ( '' === $product->get_price() || 0 == $product->get_price() ) {
		$price = 'FREE';
	}
	return $price;
}

Producten en variaties (tickets) weergeven in een rasterindeling in tabelvorm #

Voeg het volgende codefragment toe aan uw thema's functies.php bestand om producten en variaties in een tabelraster weer te geven op de evenement-/productpagina in plaats van de standaard vervolgkeuzelijst. Elke ticketoptie wordt weergegeven in een nieuwe rij en heeft zijn eigen hoeveelheidkiezer.

Let op: Dit codefragment is niet compatibel met de FooEvents Stoel en FooEvents Boekingen productpagina selectors.

productpagina selectors.

[php]
/**
 * Variaties weergeven in tabelformaat.
 */

functie woocommerce_variabele_toevoegen_aan_cart() {

	global $product, $post;

	// Voer een door komma's gescheiden lijst van product-ID's in die variaties in tabelformaat moeten weergeven. Laat leeg om alle producten weer te geven ( bijv. array() )
	$products = array( );

	if ( in_array( $post-&gt;ID, $products ) || empty( $products ) ) {

		$variaties = find_valid_variations();

		// Controleer of de speciale 'price_grid' meta is ingesteld, zo ja, laad dan de standaard sjabloon.
		if ( get_post_meta( $post-&gt;ID, 'price_grid', true ) ) {

			// Variatiescripts enqueue.
			wp_enqueue_script( 'wc-add-to-cart-variation' );

			// De sjabloon laden
			wc_get_template(
				'single-product/add-to-cart/variable.php',
				array(
					'beschikbare_variaties' =&gt; $product-&gt;get_available_variations(),
					'attributen' =&gt; $product-&gt;get_variatie_attributen(),
					'geselecteerde_attributen' =&gt; $product-&gt;get_variatie_standaard_attributen(),
				)
			);

			return;
		}
		// Cool, laten we onze eigen sjabloon maken!
		?&gt;
			<table class="variations variations-grid" cellspacing="0">
				<tbody>

			<?php
			$variation = 0;
			foreach ( $variations as $key => $value ) {
				if ( ! $value['variation_is_visible'] ) {
					continue;
				}
				if ( $variation != $value['variation_id'] ) {

					?>

					<tr>
						<td>
						<?php

						foreach ( $value['attributes'] as $key => $val ) {
							$val = str_replace( array( '-', '_' ), ' ', $val );
							printf( '<div class="attr attr-%s">%s</div>', $key, ucwords( $val ) );
						}
						?>
						</td>
						<td>
						<?php echo $value['price_html']; ?>
						</td>

						<?php if ( $value['is_in_stock'] ) { ?>
							<form class="cart"  action="/nl//" method="post" enctype='multipart/form-data' data-trp-original-action="<?php echo esc_url( $product->add_to_cart_url() ); ?>">
								<td id="variation_<?php echo $value['variation_id']; ?>">
									
										<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3E%0A%09%09%09%09%09%09%09%09%09%09jQuery(document).ready(function(%24)%7B%0A%09%09%09%09%09%09%09%09%09%09%09%24(%20%22%23variation_%3C%3Fphp%20echo%20%24value%5B'variation_id'%5D%3B%20%3F%3E%20.qty%22%20).attr(%20%22step%22%2C%20%3C%3Fphp%20echo%20%24variation_group_of_quantity%3B%20%3F%3E%20)%3B%0A%09%09%09%09%09%09%09%09%09%09%09%24(%20%22%23variation_%3C%3Fphp%20echo%20%24value%5B'variation_id'%5D%3B%20%3F%3E%20.qty%22%20).attr(%20%22value%22%2C%20%3C%3Fphp%20echo%20%24variation_group_of_quantity%3B%20%3F%3E%20)%3B%0A%09%09%09%09%09%09%09%09%09%09%09%24(%20%22%23variation_%3C%3Fphp%20echo%20%24value%5B'variation_id'%5D%3B%20%3F%3E%20.qty%22%20).attr(%20%22min%22%2C%20%3C%3Fphp%20echo%20%24variation_minimum_quantity%3B%20%3F%3E%20)%3B%0A%09%09%09%09%09%09%09%09%09%09%09%24(%20%22%23variation_%3C%3Fphp%20echo%20%24value%5B'variation_id'%5D%3B%20%3F%3E%20.qty%22%20).attr(%20%22max%22%2C%20%3C%3Fphp%20echo%20%24variation_maximum_quantity%3B%20%3F%3E%20)%3B%0A%09%09%09%09%09%09%09%09%09%09%7D)%3B%0A%09%09%09%09%09%09%09%09%09%09%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />									
									<?php } ?>
								</td>
								<td>
									<?php
									if ( ! empty( $value['attributes'] ) ) {
										foreach ( $value['attributes'] as $attr_key => $attr_value ) {
											?>
											<input type="hidden" name="<?php echo $attr_key; ?>" value="<?php echo $attr_value; ?>">
											<?php
										}
									}
									?>
									<button type="submit" class="single_add_to_cart_button btn btn-primary"><span class="glyphicon glyphicon-tag"></span> In winkelwagen</button>
								</td>
								<input type="hidden" name="variation_id" value="<?php echo $value['variation_id']; ?>" />
								<input type="hidden" name="product_id" value="<?php echo esc_attr( $post->ID ); ?>" />
								<input type="hidden" name="add-to-cart" value="<?php echo esc_attr( $post->ID ); ?>" />
							<input type="hidden" name="trp-form-language" value="nl"/></form>
							<?php } else { ?>
								<td colspan="2">
									<p class="stock out-of-stock"><?php _e( 'This item is currently out of stock and unavailable.', 'woocommerce' ); ?></p>
								</td>
							<?php } ?>
					</tr>
					<?php
					$variation = $value['variation_id'];
				}
			}
			?>
			</tbody>
			</table>


		<?php
	} else {

		// Enqueue variation scripts.
		wp_enqueue_script( 'wc-add-to-cart-variation' );

		// Load the template
		wc_get_template(
			'single-product/add-to-cart/variable.php',
			array(
				'available_variations' => $product-&gt;get_available_variations(),
				'attributen' =&gt; $product-&gt;get_variatie_attributen(),
				'geselecteerde_attributen' =&gt; $product-&gt;get_variatie_standaard_attributen(),
			)
		);
		return;
	}
}

functie vind_geldige_variaties() {
	global $product, $post;

		$variations = $product-&gt;get_available_variations();
		$attributes = $product-&gt;get_attributes();
		$new_variants = array();

		// Loop door alle variaties
	foreach ( $variaties als $variatie ) {

		// Blader door de attributen.

		// 1. Als beide expliciet zijn ingesteld, is dit een geldige variatie
		// 2. Als er een niet is ingesteld, betekent dit dat er een is, en moeten we de rest 'creëren'.

		$valid = true; // tot nu toe
		foreach ( $attributes as $slug =&gt; $args ) {
			if ( array_key_exists( "attribute_$slug", $variation['attributes'] ) &amp;&amp; ! empty( $variation['attributes'][ "attribute_$slug" ] ) {
				// Bestaat

			Anders {
				// Bestaat niet, maken
				$valid = false; // het bevat 'anys'
				// lus door alle opties voor het attribuut 'ANY' en voeg ze allemaal toe
				foreach ( explode( '|', $attributes[ $slug ]['value'] ) as $attribute ) {
					$attribute = trim( $attribute );
					$new_variant = $variation;
					$new_variant['attributes']["attribute_$slug" ] = $attribute;
					$new_variants[] = $new_variant;
				}
			}
		}

		// Dit bevat ALLE ingestelde attributen, en is zelf een 'geldige' variatie.
		if ( $valid ) {

			$new_variants[] = $variation;
		}
	}

		return $new_variants;
}
[/php]

Ondersteuning voor dagelijkse begin- en eindtijden toevoegen aan je ticket thema's #

Vanaf versie 1.5.5 van de FooEvents Meerdaags plugin kun je verschillende begin- en eindtijden selecteren voor elke dag van een meerdaags evenement. Ondersteuning voor deze functie is ook toegevoegd aan alle FooEvents Kaartjesthema's. Alsjeblieft volg deze instructies om een bestaand ticket-thema bij te werken. Als je een aangepast ticket-thema gebruikt en niet in staat bent om het ticket-thema te vervangen door de bijgewerkte versie, voeg dan het volgende codefragment toe aan je ticket-thema om ondersteuning voor begin- en eindtijden toe te voegen. [php]

<!-- MULTI-DAY DETAILS -->
										

			<strong><?php printf( __( '%1$s %2$d: ', 'woocommerce-events' ), $ticket['dayTerm'], $x ); ?></strong>
			<?php echo esc_attr( $date ); ?><br /> 
				
		<br />

De standaard WooCommerce Toevoegen aan winkelwagen knoppen weergegeven op de winkel aanbieding pagina's zal automatisch een product toe te voegen aan de winkelwagen en omleiden naar de winkelwagen pagina. Bij het gebruik van FooEvents Boekingen, kunt u de voorkeur aan de gebruiker kanaal via de productpagina, zodat ze eerst een slot en tijd boeking selectie te maken voordat u verder gaat naar de winkelwagen pagina. Het volgende knipsel vervangt de link Toevoegen aan winkelwagentje door een link naar de productpagina. Dit zorgt ervoor dat de gebruiker de juiste boekingsselectie kan maken op de productpagina voordat hij doorgaat naar de winkelwagen- of afrekenpagina.

/**
* @snippet Verander WooCommerce knop 'In winkelwagen' in 'Product bekijken'.
* @bron https://www.wptechnic.com/?p=4615
* @author Mohammed Tamzid
* compatibel met WC 4.3.1
*/
// Verander WooCommerce 'Toevoegen aan winkelwagentje'-knop in 'Product bekijken
add_filter( 'woocommerce_loop_add_to_cart_link', 'wpt_custom_view_product_button', 10, 2 );
functie wpt_custom_view_product_button( $button, $product ) {
    // Negeren voor variabele producten
    if ( $product-&gt;is_type( 'variabel' ) ) {
        return $button;
    }
    // Knoptekst hier
    $button_text = __( 'Boek Ticket', 'woocommerce' );
    return '<a class="button wpt-custom-view-product-button" href="/nl/' . $product->get_permalink() . '/">' . $button_text . '</a>';
}

De evenementdatum weergeven voor "Enkele" evenementen in de winkelwagen en op de afrekenpagina #

add_filter( "woocommerce_cart_item_name", "add_event_date_cart_checkout", 10, 3 );
functie add_event_date_cart_checkout( $product_name, $cart_item, $cart_item_key ) {
	$product = $cart_item['data'];

	if ( $value = $product->get_meta( 'WooCommerceEventsDate' ) {
		$product_name .= '' . $value . ';
	}
	return $product_name;
}

Artikelen

Tags , , , , , , , , , , , , , , , , , , ,