Skip to content

Instantly share code, notes, and snippets.

Anthony Hortin maddisondesigns

View GitHub Profile
@maddisondesigns
maddisondesigns / functions.php
Last active Mar 25, 2019
Create WordPress Custom Post Types & Taxonomies, and add custom columns to display CPT data
View functions.php
<?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',
@maddisondesigns
maddisondesigns / blocks-style.css
Last active Oct 26, 2018
Load CSS to style the (Gutenberg) Block Editor like the front-end
View blocks-style.css
/*
Theme Name: Ephemeris
Description: Used to style the Block Editor (Gutenberg)
*/
/* Custom Colours */
/* Eclipse */
.edit-post-visual-editor .has-eclipse-background-color {
background-color: #3a3a3a;
}
@maddisondesigns
maddisondesigns / change-db-collation.php
Last active Mar 25, 2019
Change the Collation of all tables in a Database
View change-db-collation.php
<?php
$hostname = 'localhost';
$username = 'YOUR-DB-USERNAME';
$password = 'YOUR-DB-PASSWORD';
$database = 'YOUR-DB-NAME';
$collation = 'utf8mb4_unicode_ci';
$db = new mysqli( $hostname, $username, $password, $database );
if( $db->connect_errno ) {
@maddisondesigns
maddisondesigns / functions.php
Last active Apr 14, 2019
WooCommerce Custom Fields for Simple & Variable Products
View functions.php
/*
* Add our Custom Fields to simple products
*/
function mytheme_woo_add_custom_fields() {
global $woocommerce, $post;
echo '<div class="options_group">';
// Text Field
@maddisondesigns
maddisondesigns / create-wp-admin.php
Created Oct 4, 2017
Create a new WordPress Administrator User
View create-wp-admin.php
<?php
// ADD NEW ADMIN USER TO WORDPRESS
// ----------------------------------
// Put this file in your Wordpress root directory and run it from your browser.
// Delete it when you're done.
// Original script by Joshua Winn - https://joshuawinn.com/create-a-new-wordpress-admin-user-from-php
require_once('wp-blog-header.php');
require_once('wp-includes/registration.php');
@maddisondesigns
maddisondesigns / CSV Product Import.csv
Last active Mar 25, 2019
WooCommerce Product CSV Import Schema
View CSV Product Import.csv
ID Type SKU Name Published Is featured? Visibility in catalog Short Description Description Date sale price starts Date sale price ends Tax Status Tax Class In stock? Backorders allowed? Sold individually? Weight (unit) Length (unit) Width (unit) Height (unit) Allow customer reviews? Purchase Note Price Regular Price Stock Categories Tags Shipping Class Attribute 1 Name Attribute 1 Value(s) Attribute 1 Default Attribute 1 Visible Images Download 1 Name Download 1 URL Download Limit Download Expiry Days Parent Upsells Cross-sells
id type sku name status featured catalog_visibility short_description description date_on_sale_from date_on_sale_to tax_status tax_class stock_status backorders sold_individually weight length width height reviews_allowed purchase_note price regular_price manage_stock / stock_quantity category_ids tag_ids shipping_class_id attributes attributes default_attributes attributes image_id / gallery_image_ids downloads downloads download_limit download_expiry parent_id upsell_ids cross_sell_
@maddisondesigns
maddisondesigns / migrateorders.php
Last active Mar 25, 2019
Migrate WooCommerce Orders
View migrateorders.php
<?php
// Copies woocommerce orders and users over from source to target.
// I use this on my local machine - loading both db's up there side by side
// could easily adjust the connect strings to connect elsewhere if needed.
// will change order ids
// My use case for this is when I've got a staging/test version of a site with new posts/products/pages etc, that needs
// to go live without the loss of any orders placed on the site site since we copied it to the staging site.
@maddisondesigns
maddisondesigns / functions.php
Last active Mar 25, 2019
Remove the annoying Wordfence Notifications on plugin updates and plugin activation
View functions.php
<?php
/*
* Remove the annoying Wordfence Notifications. Tested with Wordfence v6.3.2
*/
class ahRWN_Remove_Wordfence_Notification {
private $wordfencePluginFile;
public function __construct() {
$this->wordfencePluginFile = "wordfence/wordfence.php";
register_activation_hook( $this->wordfencePluginFile, array( $this, 'rwn_remove_wordfence_notifications_on_activation' ) );
@maddisondesigns
maddisondesigns / functions.php
Last active Mar 25, 2019
Remove the WP REST API JSON Endpoints for everyone except Administrators
View functions.php
<?php
/*
* Only allow Admin users to view WP REST API JSON Endpoints
*/
function mytheme_only_allow_logged_in_rest_access( $access ) {
if( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) {
return new WP_Error( 'rest_cannot_access', __( 'Only authenticated users can access the REST API.', 'disable-json-api' ), array( 'status' => rest_authorization_required_code() ) );
}
return $access;
}
@maddisondesigns
maddisondesigns / functions.php
Last active Mar 25, 2019
Remove the WP REST API JSON Endpoints for non-logged in users
View functions.php
<?php
/*
* Remove the WP REST API JSON Endpoints for logged out users
*/
function mytheme_only_allow_logged_in_rest_access( $access ) {
if( ! is_user_logged_in() ) {
return new WP_Error( 'rest_cannot_access', __( 'Only authenticated users can access the REST API.', 'disable-json-api' ), array( 'status' => rest_authorization_required_code() ) );
}
return $access;
}
You can’t perform that action at this time.