Skip to content

Instantly share code, notes, and snippets.

View cameronjonesweb's full-sized avatar
👨‍👦

Cameron Jones cameronjonesweb

👨‍👦
View GitHub Profile
<?php
add_action( 'pricing_tables_for_edd_footer_end', 'cameronjonesweb_free_downloads_link_to_modal', 9 );
/**
* Changes the pricing tables link to use the modal if it's a free download
*
* @param array $args User defined data for the pricing table.
*/
function cameronjonesweb_free_downloads_link_to_modal( $args ) {
if ( class_exists( 'EDD_Free_Downloads' ) ) {
@cameronjonesweb
cameronjonesweb / edd-account-login.php
Created August 8, 2018 03:11
Update Easy Digital Downloads sites to use an account page to login rather than wp-login.php
<?php
add_filter( 'edd_settings_general', 'cameronjonesweb_edd_login_page' );
add_filter( 'login_url', 'cameronjonesweb_use_edd_login_page', 10, 3 );
/**
* Adds an additional page to the EDD pages settings
* Make sure the [edd_profile_editor] or [edd_login] shortcode is on this page.
*
* @param array $settings The array of settings.
@cameronjonesweb
cameronjonesweb / admin-menu-customizer-link.php
Last active September 28, 2018 13:23
Replaces a settings subpage link with a link to the customizer or external URL
@cameronjonesweb
cameronjonesweb / add-post-thumbnail-to-rss.php
Last active July 22, 2018 13:57
Adds the post thumbnail to the WordPress RSS feed
<?php
add_action( 'rss2_item', 'cameronjonesweb_add_post_thumbnail_to_rss' );
function cameronjonesweb_add_post_thumbnail_to_rss() {
if ( has_post_thumbnail() ) {
printf(
"\t" . '<media:content url="%1$s" type="%2$s" />' . "\n",
esc_url( get_the_post_thumbnail_url() ),
esc_attr( get_post_mime_type( get_post_thumbnail_id() ) )
@cameronjonesweb
cameronjonesweb / prevent-roboto.js
Last active July 11, 2018 14:03
Prevent Google Maps from loading the Roboto font.
var head = document.getElementsByTagName( 'head' )[0];
// Save the original method
var insertBefore = head.insertBefore;
// Replace it!
head.insertBefore = function( newElement, referenceElement ) {
if ( newElement.href && newElement.href.indexOf( 'https://fonts.googleapis.com/css?family=Roboto' ) === 0 ) {
return;
@cameronjonesweb
cameronjonesweb / salesforce-gravity-forms.php
Last active July 17, 2018 13:02
Updates the Salesforce API endpoint for the Gravity Forms Salesforce Add-On
<?php
/**
* Updates the Salesforce API endpoint for the Gravity Forms Salesforce Add-On
* From the article Fixing The Gravity Forms Salesforce Add-On For WordPress: https://cameronjonesweb.com.au/blog/fixing-the-gravity-forms-salesforce-add-on-for-wordpress/
*
* @link https://help.salesforce.com/articleView?id=Updating-the-Web-to-Case-and-Web-to-Lead-Endpoint-URL&language=en_US&type=1
* @param string $sub The current subdomain (www or test).
* @param bool $test Whether it's in test mode or not.
* @return string The new subdomain
*/
@cameronjonesweb
cameronjonesweb / functions.php
Last active December 8, 2018 12:52
Add back the WYSIWYG content editor to the WordPress blog page and display the content on the front end
<?php
/**
* Add the WYSIWYG editor back to the blog page
*
* @param WP_Post $post The post object
*/
function cameronjonesweb_fix_no_editor_on_blog_page( $post ) {
if( $post->ID === get_option( 'page_for_posts' ) ) {
add_post_type_support( 'page', 'editor' );
}
@cameronjonesweb
cameronjonesweb / add-script-handle.php
Created April 5, 2018 03:36
Add the script handle to enqueued script tags
<?php
add_filter( 'script_loader_tag', 'cameronjonesweb_add_script_handle', 10, 3 );
function cameronjonesweb_add_script_handle( $tag, $handle, $src ) {
return str_replace( '<script', sprintf(
'<script data-handle="%1$s"',
esc_attr( $handle )
), $tag );
}
<?php
/**
* A custom WP_Query object that will always be empty
*/
$query = new WP_Query( array(
'post__in' => array( 0 )
) );
<?php
function cameronjonesweb_bp_mark_notifications_read() {
// Get the action.
$action = !empty( $_GET['action'] ) ? $_GET['action'] : '';
$nonce = !empty( $_GET['_wpnonce'] ) ? $_GET['_wpnonce'] : '';
$id = !empty( $_GET['notification_id'] ) ? $_GET['notification_id'] : '';
// Bail if no action or no ID.