Skip to content

Instantly share code, notes, and snippets.

View xnau's full-sized avatar

Roland Barker xnau

View GitHub Profile
@xnau
xnau / xnau-email-html-wrapper.php
Last active September 5, 2020 18:23
Shows how to wrap an outgoing WordPress email with structural HTML such as a doctype, meta tags, style, etc.
<?php
/*
* Plugin Name: xnau HTML Email Wrapper
* Description: Adds a structural HTML wrapper to outgoing WordPress emails.
*/
class xnau_email_html_wrapper {
/**
*
@xnau
xnau / pdb-login-recaptcha.php
Last active July 17, 2020 01:40
Demonstrates a Participants Database custom template that adds a reCAPTCHA to the Participant Login form.
<?php
/**
* @version 1.0
*
* the uses a recaptcha field in the login form if available
*
* @global PDb_reCAPTCHA $PDb_reCAPTCHA
*/
global $PDb_reCAPTCHA;
$recaptcha_fieldname = 'captcha'; // change this to match your captcha field name
@xnau
xnau / pdb-video-element.php
Last active July 8, 2020 18:58
Shows a way to create a Participants Database form element that displays an embedded video by using WordPress' built-in video embed filters
<?php
/**
* Plugin Name: PDB Video Form Element
* Description: Demonstrates how to create a Participants Database form element that displays a video
* Version: 3.0
* Text Domain: pdb-video-form-element
* Domain Path: /languages
*
*/
@xnau
xnau / pdb-list-dropdown-search.php
Last active August 8, 2021 18:26
Shows how to set up a dropdown search input for a Participants Database list display.
<?php
/*
template for participants list shortcode output
this template demonstrates a "table-less" responsive layout for the list of records
with a dropdown selector search interface
*/
/**
@xnau
xnau / pdb-single-category-link.php
Last active March 5, 2020 19:56
Provides an example of a Participants Database custom template that places a link to show all records in the same category as the current record.
@xnau
xnau / pdb-set-field-readonly.php
Created December 21, 2019 01:52
Shows how to set the readonly status of a Participants Database field based on the field data
<?php
// set the first_name field to read only
add_filter( 'pdb-before_field_added_to_iterator', function ($field) {
/** @var PDb_Field_Item $field */
if ( $field->name() === 'first_name' ) {
$field->make_readonly();
}
});
@xnau
xnau / pdb-match-multiple-fields.php
Last active December 31, 2019 19:25
Provides a way to use multiple fields to match a record in the database when importing or adding new records in Participants Database
<?php
/**
* Plugin Name: PDB Multiple Field Match Check
* Description: checks a new Participants Database submission against the database for a matching record using multiple fields
* Version: 2.1
*
* requires PDB version 1.9.4.2 or later
*/
add_action( 'pdb-incoming_record_match_object', 'xnau_check_for_match' );
@xnau
xnau / pdb-wp-user-shortcodes.php
Last active May 18, 2023 10:08
Provides shortcodes for showing Participants Database content according to the logged-in WordPress user.
<?php
/**
* Plugin Name: PDB WP User Shortcodes
* Description: defines several shortcodes for use with Participants Database and WordPress Users
*/
class PDb_User_List_Shortcodes {
/**
* @var string name of the user ID field
@xnau
xnau / pdb-suspend-email-autop.php
Last active July 29, 2019 17:37
Shows how to conditionally suspend auto-paragraphs with a Participants Database Email Template
add_filter( 'pdb-rich_text_filter_mode', 'suspend_rich_text_for_sms', 10, 2 );
// changes the rich text filtering mode according to content
function suspend_rich_text_for_sms( $format_setting, $content ) {
// the setting is only altered if the message is an sms message
if ( content_is_sms( $content ) ) {
$format_setting = 'none';
}
@xnau
xnau / pdb-email-cron.php
Last active March 27, 2024 18:12
Shows how to set up a Participants Database email that will automatically send when conditions are met
<?php
/**
* Plugin Name: PDB Email Cron
* Plugin URI: https://xnau.com/?p=7354
* Description: Provides a basic framework for setting up an automated Participants Database email send
* Version: 1.0
* Author: xnau webdesign
* Author URI: https://xnau.com
* License: GPL2