An example of creating custom blocks from a TailPress theme using Laravel Mix.
Example of a block in your webpack.mix.js file:
mix.js('/resources/blocks/example/block.js', '/blocks/example/block.build.js').react();| // Lists of countries with ISO 3166 codes, presented in various formats. | |
| // Last Updated: July 30, 2020 | |
| // If you're using PHP, I suggest checking out: | |
| // https://github.com/thephpleague/iso3166 | |
| // or Laravel: https://github.com/squirephp/squire | |
| // | |
| // JS developers can check out: | |
| // https://www.npmjs.com/package/iso3166-2-db | |
| // |
| <?php | |
| // Ensure cart contents update when products are added to the cart via AJAX (place the following in functions.php) | |
| add_filter( 'woocommerce_add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment' ); | |
| function woocommerce_header_add_to_cart_fragment( $fragments ) { | |
| ob_start(); | |
| ?> | |
| <a class="cart-contents" href="<?php echo wc_get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php echo sprintf (_n( '%d item', '%d items', WC()->cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a> | |
| <?php |
| <?php | |
| /* | |
| How To Locally Mirror Remote Images With WordPress | |
| Source: http://forrst.com/posts/Locally_Mirror_Remote_Images_With_WordPress-XSE | |
| */ | |
| // URL of the image you want to mirror. Girl in pink underwear for instance. | |
| $image = 'http://i.imgur.com/Hq4QA.jpg'; |
| <?php | |
| //Display Fields | |
| add_action( 'woocommerce_product_after_variable_attributes', 'variable_fields', 10, 3 ); | |
| //JS to add fields for new variations | |
| add_action( 'woocommerce_product_after_variable_attributes_js', 'variable_fields_js' ); | |
| //Save variation fields | |
| add_action( 'woocommerce_process_product_meta_variable', 'save_variable_fields', 10, 1 ); | |
| /** |
| <?PHP | |
| /** | |
| * Spintax - A helper class to process Spintax strings. | |
| */ | |
| class Spintax | |
| { | |
| /** | |
| * Set seed to make the spinner predictable. | |
| */ |
| <html> | |
| <head> | |
| <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> | |
| <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> | |
| <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> | |
| <script> | |
| $(function() { | |
| $(".video").click(function () { | |
| var theModal = $(this).data("target"), | |
| videoSRC = $(this).attr("data-video"), |
| var touchstartX = 0; | |
| var touchstartY = 0; | |
| var touchendX = 0; | |
| var touchendY = 0; | |
| var gesuredZone = document.getElementById('gesuredZone'); | |
| gesuredZone.addEventListener('touchstart', function(event) { | |
| touchstartX = event.screenX; | |
| touchstartY = event.screenY; |
| <?php | |
| //====================================================================== | |
| // Add post state to the projects page | |
| //====================================================================== | |
| add_filter( 'display_post_states', 'ecs_add_post_state', 10, 2 ); | |
| function ecs_add_post_state( $post_states, $post ) { |
| //Woocommerce Checkout JS events | |
| $( document.body ).trigger( 'init_checkout' ); | |
| $( document.body ).trigger( 'payment_method_selected' ); | |
| $( document.body ).trigger( 'update_checkout' ); | |
| $( document.body ).trigger( 'updated_checkout' ); | |
| $( document.body ).trigger( 'checkout_error' ); | |
| //Woocommerce cart page JS events | |
| $( document.body ).trigger( 'wc_cart_emptied' ); | |
| $( document.body ).trigger( 'update_checkout' ); |