Skip to content

Instantly share code, notes, and snippets.

View marklchaves's full-sized avatar
🏄‍♂️

mark l chaves marklchaves

🏄‍♂️
View GitHub Profile
@marklchaves
marklchaves / force-vimeo-autoplay-0.js
Created August 23, 2024 11:04
Force autoplay=0 (off) for a Vimeo video that opens in an iframe tag.
(function () {
document.addEventListener("DOMContentLoaded", function () { // Wait for all the contents to load.
const elts = document.querySelectorAll("figure a"); // Select all video gallery links.
if (!elts.length) return; // If nothing, bail early.
[...elts].map((elt) => { // Loop over each link.
elt.addEventListener("click", function (e) { // Listen for a click on each gallery link.
console.log("Got a click on a gallery item.");
setTimeout(function () { // Wait for the iframe b/c it loads dynamically.
console.log("Overwriting the autoplay to 0!");
let iElt = document.querySelector("iframe");
@marklchaves
marklchaves / cf7_set_cookie_on_redirect.php
Last active August 30, 2024 00:38
Force setting a popup cookie on forms redirect for Contact Form 7 (CF7), Gravity Forms, and WPForms
@marklchaves
marklchaves / hideFormAndRedirect.js
Created August 4, 2024 15:42
After submit, hide the Contact Form 7 form so only the success message shows then redirect after 3 seconds
document.addEventListener( 'wpcf7mailsent', function( event ) {
document.querySelectorAll("form.wpcf7-form > :not(.wpcf7-response-output)").forEach(el => {
el.style.display = 'none';
});
// Redirect on submission
setTimeout( () => {
location = '/my-redirect-page/'; // TO DO: Put your URL or slug here.
}, 3000 ); // Wait for 3 seconds to redirect. Change the delay to what you want.
}, false );
@marklchaves
marklchaves / add_font_family_and_size.php
Last active August 19, 2024 00:08
Add Font Family and Custom Font Size Options to TinyMCE
<?php // Ignore this first line when copying to your child theme's functions.php file.
// Turn on font size & font family selects in the classic editor.
add_filter( 'mce_buttons_2', function( $buttons ) {
array_unshift( $buttons, 'fontselect' );
array_unshift( $buttons, 'fontsizeselect' );
return $buttons;
} );
/**
@marklchaves
marklchaves / help-scout-custom-code-top-banner-css.html
Last active March 28, 2024 09:19
Help Scout Docs Top Banner Custom CSS and JavaScript
<!-- Winter 2004 Banner -->
<style>
body {
margin-top: 113px !important;
}
#winter-2004-banner.hidden {
top: -113px;
}
#winter-2004-banner {
@marklchaves
marklchaves / template-parts-header-example.html
Created February 25, 2024 09:59
Content Control restrict header example
<!-- wp:group {"style":{"spacing":{"padding":{"right":"var:preset|spacing|10","left":"var:preset|spacing|10","top":"var:preset|spacing|10","bottom":"var:preset|spacing|10"}}},"backgroundColor":"accent","layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"space-between"},"contentControls":{"enabled":false,"rules":{}}} -->
<div class="wp-block-group has-accent-background-color has-background" style="padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--10)"><!-- wp:site-logo {"width":79,"shouldSyncIcon":true} /-->
<!-- wp:paragraph {"fontSize":"large","contentControls":{"enabled":false,"rules":{"user":{"userStatus":"logged_out","roleMatch":"any","userRoles":[]}}}} -->
<p class="has-large-font-size">Logged-out Menu</p>
<!-- /wp:paragraph -->
<!-- wp:navigation {"ref":56,"layout":{"type":"flex"},"fontSize":"large","contentControls":{"enabled":false,"rules":{"user":{"userStatus":"logge
@marklchaves
marklchaves / nyt-style-wp-blocks-pattern.html
Created January 26, 2024 04:26
Example Content for New York Times Style Teaser
<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column {"width":"30%"} -->
<div class="wp-block-column" style="flex-basis:30%"></div>
<!-- /wp:column -->
<!-- wp:column {"width":"40%"} -->
<div class="wp-block-column" style="flex-basis:40%"><!-- wp:group {"metadata":{"name":"Card"},"style":{"spacing":{"blockGap":"var:preset|spacing|small","padding":{"top":"var:preset|spacing|small","right":"var:preset|spacing|small","bottom":"var:preset|spacing|small","left":"var:preset|spacing|small"}},"border":{"radius":"5px"},"layout":{"selfStretch":"fixed","flexSize":"360px"}},"backgroundColor":"base","layout":{"type":"constrained"}} -->
<div class="wp-block-group has-base-background-color has-background" style="border-radius:5px;padding-top:var(--wp--preset--spacing--small);padding-right:var(--wp--preset--spacing--small);padding-bottom:var(--wp--preset--spacing--small);padding-left:var(--wp--preset--spacing--small)"><!-- wp:group {"style":{"spacing":{"blockGap":"var:preset|spacing|small"}},"layout":{"type":"co
@marklchaves
marklchaves / listen_for_alternate_close.php
Last active June 14, 2023 14:03
Popup Maker: A workaround to fix the alternate close methods not working on back-to-back popups.
<?php // Ignore this first line when copying to your child theme's functions.php file.
/**
* Listen for alternate close
*
* A workaround to fix the alternate close methods not working on back-to-back popups.
*
*/
function listen_for_alternate_close() { ?>
<script type="text/javascript">
@marklchaves
marklchaves / say_hello_sc.php
Last active June 6, 2023 04:02
The say hello shortcode prints your display name and role if you're logged into a WordPress site. This is great if you need to know who you are logged in as and what role you have for any given post/page you're on.
<?php // Ignore this first line when copying to your child theme's functions.php file.
function say_hello_sc() {
$u = wp_get_current_user();
$display_name = $u->display_name ?: 'there';
$roles = (array) $u->roles ?: ['not logged in'];
return '<p>Yo, <strong>' . $display_name . '</strong> (<em>' . $roles[0] . '</em>)' . '. Thanks for stopping by ;-)</p>';
}
add_shortcode('say_hello', 'say_hello_sc');
/**
@marklchaves
marklchaves / rc_ajax_demo_js.php
Last active April 24, 2023 09:14
Popup Maker Remote Content AJAX Example Passing in a Shortcode Name
<?php // Ignore this first line when copying to your child theme's functions.php file.
/**
* Based on the doc "Remote Content -- AJAX Type Introduction"
*
* https://docs.wppopupmaker.com/article/33-remote-content-ajax-type-introduction
*
* What's the difference?
*
* The 'name' arg is the name of a shortcode. In this example, the