Skip to content

Instantly share code, notes, and snippets.

View steve10287's full-sized avatar

Steve steve10287

  • Designamite
  • Exeter
View GitHub Profile
@steve10287
steve10287 / get_block_data.php
Last active March 2, 2023 20:34
Parse Wordpress Gutenberg blocks
<?php
function parseBlocks($blocks, $block_id)
{
foreach ($blocks as $block) {
if($block['blockName'] == $block_id) {
return $block['attrs']['data'];
}
if (!empty($block['innerBlocks'])) {
if ($data = parseBlocks($block['innerBlocks'], $block_id)) {
return $data;
@steve10287
steve10287 / functions.php
Last active November 14, 2022 11:51
Wordpress - Category Sub Menu Walker
class Walker_Add_Myterms extends Walker_Nav_Menu
{
public function end_el(&$output, $item, $depth = 1, $args = array())
{
if ($item->object === 'category') {
$children = get_terms('category', array('child_of' => $item->object_id));
if (!empty($children) && !is_wp_error($children)) {
$output .= '<ul class="sub-menu">';
@steve10287
steve10287 / gist:89ee5506432400f86a17b8d12181fbc5
Created January 17, 2022 10:10
Wordpress Insert Post Terms
/**
* Insert post terms
*
* @param array|string $terms
* @param integer $post_id
* @return void
*/
function _insertPostTerms($terms, $post_id, $taxonomy)
{
$term_ids = [];
@steve10287
steve10287 / full-spotify-player.js
Last active February 10, 2021 20:09
Spotify web player cinema view
document.body.insertAdjacentHTML('beforeend', '<style>body .VideoPlayer {width: 100vw;height: calc(100vh - 91px);right: 0 !important;bottom: auto;background: #111;z-index: 21;top: 0; padding-top: 8vh; align-items: flex-start;}body .VideoPlayer .VideoPlayer__container, body .VideoPlayer .VideoPlayer__container video {width: 100%; max-width: 1200px;} body .VideoPlayer__overlay {background: none;} </style>')
@steve10287
steve10287 / .exrc
Last active April 15, 2020 15:49
Vim SCP on save
" scp config
let g:enable_scp = 1
let g:scp_server = "server_ip"
let g:scp_user = "server_username"
let g:scp_remote = "remote_path"
let g:scp_local = "local_path"
let g:scp_build_local_path = "local_build_folder"
let g:scp_build_remote_path = "remote_build_folder"
@steve10287
steve10287 / responsive-images.js
Created March 13, 2020 19:01
Responsive images with Lazysizes
document.addEventListener('lazybeforeunveil', e => {
var img = e.target,
attr = img.hasAttribute('data-bgset') ? 'data-bgset' : 'data-src',
src = img.getAttribute(attr),
resize = '/images.php?max_width=' + window.innerWidth + '&imgfile=' + src
img.setAttribute(attr, resize)
}, false)
@steve10287
steve10287 / gist:c7b64daa819c8f218c6bddca4e6bb14f
Last active December 4, 2023 14:58
Disable Polylang Variation Sync
<?php
/**
Plugin name: Disable Polylang Variation Sync
Plugin URI: https://designamite.co.uk
Version: 0.2
Author: Steven Brown
Author uri: https://designamite.co.uk
Description: Removes actions that sync product variation data
WC requires at least: 3.0
WC tested up to: 3.7
@steve10287
steve10287 / forcepasswordreset.php
Created December 21, 2017 15:48
Wordpress Force Password Reset
<?php
function force_pw_reset_edit_profile( $user ) {
// Proper authentication
if ( ! current_user_can( 'edit_users' ) ) return;
// Do not show on user's own edit screen
if ( get_current_user_id() == $user->ID ) return;
@steve10287
steve10287 / get_template_url.php
Created December 8, 2017 12:00
Wordpress get page template url
function get_template_page_url($template_name) {
$page_permalink = "";
$page = get_pages( array(
'meta_key' => '_wp_page_template',
'meta_value' => $template_name
) );
if ( ! empty( $page ) && 0 < count( $page ) ) :
$translate_page = get_post($page[0]->ID);
$page_permalink = get_permalink( $translate_page ) ;
@steve10287
steve10287 / canonical.php
Created October 12, 2017 11:58
Polylang Canonical Tags with Yoast's API
<?php
/**
This is used on a site where blog posts are in each english region, to avoid content duplication this method generates
the canonical for the main English site language
**/
function is_blog_page () {
global $post;
$posttype = get_post_type($post );