Skip to content

Instantly share code, notes, and snippets.

View maddisondesigns's full-sized avatar

Anthony Hortin maddisondesigns

View GitHub Profile
@maddisondesigns
maddisondesigns / your-main-plugin-file.php
Last active October 25, 2023 08:22
Declare HPOS compatibility in your WooCommerce plugin. Add this code to your main plugin file.
<?php
/**
* Declare WooCommerce HPOS compatibility
*/
function yourplugin_declare_hpos_compat() {
if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
\Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true );
}
}
add_action( 'before_woocommerce_init', 'yourplugin_declare_hpos_compat' );
@maddisondesigns
maddisondesigns / functions.php
Last active September 11, 2023 07:52
Better WordPress is_admin()
<?php
/**
* Check if inside WP Admin. Also works in the Block Editor.
*
* With the introduction of Gutenberg, is_admin() was broken.
* This better version will account for the Block Editor (Gutenberg)
*/
function mytheme_better_is_admin() {
// Check if in Block Editor - see: https://github.com/WordPress/gutenberg/issues/51090#issuecomment-1576570247
if ( is_admin() || ( defined( 'REST_REQUEST' ) && REST_REQUEST && 'edit' === $_GET['context'] ) ) {
@maddisondesigns
maddisondesigns / functions.php
Last active July 28, 2023 03:53
Change the default WordPress login error message to something less specific
/**
* Change the default Login error message
*/
function mytheme_login_error_msg() {
return 'Your username or password is incorrect.';
}
add_filter( 'login_errors', 'mytheme_login_error_msg' );
@maddisondesigns
maddisondesigns / functions.php
Created August 10, 2022 06:52
Remove the WordPress Site Health Dashboard Widget
/**
* Remove the Site Health Dashboard Widget
*/
function ephemeris_remove_site_health_dashboard_widget() {
remove_meta_box( 'dashboard_site_health', 'dashboard', 'normal' );
}
add_action( 'wp_dashboard_setup', 'ephemeris_remove_site_health_dashboard_widget' );
@maddisondesigns
maddisondesigns / functions.php
Last active May 7, 2021 16:34
Update the version number on child theme stylesheet that's been enqueued from Parent theme
<?php
/**
* If you have a child theme that has had its stylesheet enqueued from within the main Parent theme,
* and you wish to update the version number that’s appended to the url, you can include this in your
* child theme functions.php file.
*
* Obviously, change the version number (‘6.0.0’ in this example) to whatever is appropriate for you,
* along with comparing the approriate stylesheet handle ('ephemeris-style' in this example)
*
* Where:
@maddisondesigns
maddisondesigns / functions.php
Last active January 4, 2023 17:20
Convert Phone Word to Phone Number
<?php
/**
* Convert a phone number containing words, to a plain number. e.g. '1800 CALLME' == '1800225563'
*/
function ephemeris_phone_word_to_number( $phone_number ) {
$phone_word_pattern = array(
'a' => '2',
'b' => '2',
'c' => '2',
'd' => '3',
@maddisondesigns
maddisondesigns / functions.php
Last active January 24, 2023 20:44
Hide those annoying Automattic/WooCommerce/Jetpack/WordPress adverts & promos
<?php
/**
* Turn off WooCommerce Marketplace suggestions
*/
add_filter( 'woocommerce_allow_marketplace_suggestions', '__return_false' );
/**
* Turn off WooCommerce Feature Plugin notice
*/
add_filter( 'woocommerce_show_admin_notice', '__return_false', 'wc_admin_feature_plugin_notice' );
@maddisondesigns
maddisondesigns / functions.php
Created May 22, 2019 08:01
Ephemeris Theme - Filter our social icons to add an email icon on the end
<?php
/**
* Filter our social icons to add an email icon on the end
*/
function ephemeris_add_email_to_social_icons( $social_list ) {
$social_list[] = sprintf( '<li class="%1$s"><a href="%2$s" title="%3$s"><i class="%4$s"></i><span class="assistive-text">%3$s</span></a></li>',
'email',
esc_url( home_url( '/contact' ) ),
__( 'Get in touch', 'ephemeris' ),
'far fa-envelope'
@maddisondesigns
maddisondesigns / functions.php
Last active May 7, 2019 08:03
Hide the progress count on the Site Health screen
<?php
/**
* Hide the progress count on the Site Health screen
*/
function mytheme_load_custom_wp_admin_style() {
$current_screen = get_current_screen();
if ( strpos( $current_screen->base, 'site-health' ) === false ) {
return;
} else {
@maddisondesigns
maddisondesigns / functions.php
Last active February 2, 2024 23:04
Create WordPress Custom Post Types & Taxonomies, and add custom columns to display CPT data
<?php
/**
* Add an action when WP Admin initialises to register our Custom Post Type
*/
function mdsgns_create_custom_post_types() {
$types = array(
// Where the magic happens
array(
'the_type' => 'store',