Skip to content

Instantly share code, notes, and snippets.

View craigedmonds's full-sized avatar

Craig Edmonds craigedmonds

  • JUCRA Digital SL
  • Marbella, Spain
View GitHub Profile
@craigedmonds
craigedmonds / gist:02017b329ae5e6b3c5b75e2489aa9fd0
Created July 22, 2022 10:13
get acf gallery using post id outside of loop
<?php
/*
Created by craig@jucra.com on 22/7/2022
The code below will get a list of photos in their
order as they appear in the ACF gallery and provide
you with the thumbnail and large versions.
You can use $gallery to output the gallery code.
@craigedmonds
craigedmonds / gist:e750c6734b8bec47ca04b4d209b5f5f2
Created August 27, 2019 10:56
Get a list of field names and values from an ACF Group
<?php
########################
// GET FIELD NAMES AND VALUES FROM ACF GROUP
//
// created by craig@jucra.com on 27/8/2019
//
// This script will do the following:
// 1. Loop through the fields in a specific ACF Group
// 2. Create an array called $array_of_field_names
// so you can easily print out a list of the field names
@craigedmonds
craigedmonds / wordpress-wp-query-search-cpt-and-two-custom-fields.php
Last active August 24, 2019 19:59
WP_Query - search CPT and two custom fields
<?php
########################
// Here you can search a post type or post and find posts
// with two different custom field data (keys).
// This is useful if you have setup two custom fields and storing
// data in the fields and need to find posts that match.
// In the case below I have two custom fields: content_client_id and content_status
// content_client_id = the id of a client
// content_status = the status of a post (EG: Awaiting Approval by Client)
// I want to find all posts that match a client id and Awaiting Approval by Client
@craigedmonds
craigedmonds / allow-script-to-run.php
Created August 24, 2019 19:51
Allow a script to run only between two times and email on error
<?php
########################
// allow a script to only be run between two times
// EG: you can use this for a cron job and if someone tries to access it outside the times
// then you can block the request.
########################
header('Content-type: application/json; charset=utf-8'); //set the page to text only (optional)
$start_time = "09:00";
$end_time = "09:30";
$server_time_zone = date_default_timezone_get(); //this is the current server timezone
@craigedmonds
craigedmonds / wordpress-get-first-x-chars-from-post.php
Created August 21, 2019 13:43
Wordpress Get First X Chars From Post
<?php
#########################################################
// Get the first X chars from the content post (strips out any html)
// USAGE: get_intro_text($max_char = 75, $content, $more_link_text = '(more...)')
#########################################################
function get_intro_text($max_char, $content, $more_link_text = '(more...)') {
$content = get_the_content($more_link_text, $stripteaser, $more_file);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]&gt;', $content);
$content = strip_tags($content);
@craigedmonds
craigedmonds / footer.php
Last active April 29, 2019 18:13
Add 21 days to the date picker on a gravity form. This is useful for only allowing people to select a date in the future.
@craigedmonds
craigedmonds / sync_arctis-dealers.php
Created October 25, 2018 06:08
This is a special function whcih pulls in the remote data from the dealer core and stores a local json file with the dealers data. The dealers details pages will actually be populated from the local json file so we do not need to do any major database processed which will save database overhead.
<?php
############################
//sync the dealer store pages
############################
/*
This is a special function whcih pulls in the remote data from the dealer core
and stores a local json file with the dealers data. The dealers details pages will actually
be populated from the local json file so we do not need to do any major database processed
which will save database overhead.
*/
@craigedmonds
craigedmonds / functions.php
Created October 19, 2018 18:47
This checks to see if the post being loaded is 1. a special offer 2. if the dealer is authorised to load the special offer on their dealer site and if not we force a 301 redirect back to the dealers home page
<?php
######################################################
//Here we will check to see if the special offer being presented
//is in the list of the dealers posts and if not do a 301 redirect
//back to the home page
//added on 19/10/2018 by craig@jucra.com
######################################################
function white_label_special_offer_301_redirect_check($array_of_dealer) {
###################################################
@craigedmonds
craigedmonds / functions.php
Created October 19, 2018 09:11
Get a list of special offers for a dealer based on whether the dealer has special offers turned off, whether they are in a certain region or whether they have their own special offers.
<?php
######################################################
//get a list of specials assigned to a dealer so that we can display a list
//of post id's in the array_of_dealer
//added on 19/10/2018 by craig@jucra.com
######################################################
function white_label_get_array_of_special_offer_posts_for_dealer($dealer_id) {
###################################################
//STEP 1
@craigedmonds
craigedmonds / jucra-affiliates-to-clients-matching.php
Last active May 5, 2020 11:17
WHMCS custom matching of affiliates to clients (custom hook)
<?php
/*
Custom WHMCS Affiliate hook by craig@jucra.com
Date: 14th October 2018
Stored in WHCMS: /includes/hooks/
The WHMCS affiliate system is basic, very basic in terms of: affiliates can only
earn comissions based on orders they generate.