Skip to content

Instantly share code, notes, and snippets.

View stephenfeather's full-sized avatar

Stephen Feather stephenfeather

View GitHub Profile
@stephenfeather
stephenfeather / class-ExportACFField.php
Created September 18, 2024 14:00
A Class for a cli command to export all the values from a ACF field. Useful if converting from ACF metadata to terms
<?php
/**
* Adds a WP-CLI command fa:tools export-acf-field.
*
* @package FA-Toolkit
* @since 1.0.8
*/
namespace FAToolkit\Tools;
<?php
const STREAM_OPEN_FOR_INCLUDE = 128;
final class HardCoreDebugLogger
{
public static function register(string $output = 'php://stdout')
{
register_tick_function(function () use ($output) {
$bt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1);
@stephenfeather
stephenfeather / class-delete-schema-command.php
Created July 6, 2023 21:04
This is a quick and dirty fix for Rank Math de-scheming over 60k products on a live site. Shared because Rank Math is too slow to respond. Wordpress, Woocommerce, Rank Math SEO
<?php
/**
* Plugin Name: Delete Schema WP-CLI Command
* Description: Deletes 'rank_math_rich_snippet' meta key and runs delete_schema function for WooCommerce products with 'rank_math_schema_Off' value.
* Version: 1.0.0
* Author: Stephen Feather
* Copywrite: 2023 Stephen Feather
* License: GPL2
*
* @comment As a Rank Math Pro customer we were pretty pissed to find over 60k products with schema disabled. This plugin is a one-off to fix that.
@stephenfeather
stephenfeather / pw-bulk-edit-category-count.php
Created July 3, 2023 23:16
Modification to allow the filtering of products in PW Bulk Edit based upon the number of categories a product is in. (Wordpress, Woocommerce, Pimwick)
<?php
/**
* Modification to allow the filtering of products in PW Bulk Edit based
* upon the number of categories a product is in.
*
* REF: https://www.pimwick.com/pw-bulk-edit/
*
* @author Stephen Feather
* @copyright Copyright (c) 2023
*/
@stephenfeather
stephenfeather / cleanUpMaps.sh
Created June 28, 2023 19:52
Bash script to clean up sourceMappingURL references in web files.
#!/bin/bash
# Script: grep_and_remove.sh
# Author: Stephen Feather
# Co-author: OpenAI (ChatGPT)
# Copyright (c) 2023
# All rights reserved.
# License: CC-BY-SA (https://creativecommons.org/licenses/by-sa/4.0/)
@stephenfeather
stephenfeather / parseFFL.js
Created June 28, 2023 14:40
A javascript function to parse a Federal Firearms License (FFL) number
/**
* Parses the FFL number and extracts relevant information.
*
* @param {string} fflNumber - The FFL number to parse.
* @returns {object} - An object containing the parsed FFL information or an error object.
* If parsing is successful, the object will have the following properties:
* - ffl_number: The full FFL number.
* - region: The region of the FFL.
* - irs_district: The IRS district of the FFL.
* - fips_code: The FIPS code of the FFL.
@stephenfeather
stephenfeather / parseFFL.php
Created June 28, 2023 14:37
A PHP function to parse a Federal Firearms License (FFL) number
/**
* Parses the FFL number and extracts relevant information.
*
* @param string $fflNumber The FFL number to parse.
* @return array An array containing the parsed FFL information or an error object.
* If parsing is successful, the array will have the following keys:
* - ffl_number: The full FFL number.
* - region: The region of the FFL.
* - irs_district: The IRS district of the FFL.
* - fips_code: The FIPS code of the FFL.
@stephenfeather
stephenfeather / NimbusPlus.xml
Last active June 2, 2023 14:42
Controller mapping file for Steelseries Nimbus+ and Farming Simulator 2019 (MacOS/OSX) - On some older macs the productID and vendor ID show as 000 so an alternate file is available.
<deviceMapping backends="rawInput;directInput;macosXSdl">
<productKey productId="1422" vendorId="1038" />
<productName vendorId="1038">
<keyword text="nimbus+" />
</productName>
<category>gamepad</category> <!-- gamepad, wheel, joystick, farmWheel, farmSidePanel -->
<buttonMappings>
<buttonMapping physical="0" logical="0" label="A" />
<buttonMapping physical="1" logical="1" label="B" />
<buttonMapping physical="2" logical="2" label="X" />
@stephenfeather
stephenfeather / wp_url_import.sh
Created May 15, 2023 13:45
Bash script to serve an asset url w/ optional params to remote wordpress setup for importation via wp_cli - b7cd9ff84718d3ca7fca26ebb60e765d1a0a8d5642722db795522e99a6759a90
#!/bin/bash
#
# upload_and_run.sh
# Author: Stephen Feather
# Copyright (c) 2023 Stephen Feather
# License: CC BY-SA 4.0
if [ -z "$1" ]; then
echo "Error: URL argument is required."
@stephenfeather
stephenfeather / dangerous.txt
Last active May 13, 2023 00:59
Bash script to remove/replace a prefix from woocommerce products
UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, 'FA-', '')
WHERE meta_key = '_sku'
AND meta_value LIKE 'FA-%'
ORDER BY post_id DESC
LIMIT 10000;