Skip to content

Instantly share code, notes, and snippets.

@mishterk
mishterk / PostTypeTaxonomyMirror.php
Created December 17, 2020 00:47
Post type/taxonomy mirror.
<?php
class PostTypeTaxonomyMirror {
private $post_type;
private $taxonomy;
@mishterk
mishterk / wplk-get-current-domain-id.php
Last active December 12, 2020 19:13
An example of getting the current domain post ID in WP Landing Kit. Might be of use if you are loading up ACF fields on a domain post or something similar.
<?php
// e.g; 'mydomain.com'
$current_host = $_SERVER['HTTP_HOST'];
// This will return a WPLK_Domain object, if the domain can be found. Otherwise, NULL.
$domain = wplk_get_domain( );
if($domain){
$domain_id = $domain->post_id();
@mishterk
mishterk / sql-in-wordpress-example-01.sql
Last active December 7, 2020 03:16
In A beginner's guide to using SQL to query the WordPress database — https://hookturn.io/2020/12/custom-wordpress-sql-queries-for-beginners/ — we take a look at the basics of SQL and how to use it within WordPress safely.
SELECT * FROM some_table_name;
@mishterk
mishterk / acfcdt-prefix-post-title-with-meta-id.php
Created November 26, 2020 22:39
Prefixing a WordPress post title with the ID of an ACF Custom Database Tables meta data row.
<?php
add_action( 'acf/save_post', function ( $post_id ) {
global $wpdb;
// Get the meta ID from the custom DB table.
$table_name = 'my_custom_db_table';
$meta_id = $wpdb->get_var( $wpdb->prepare( "SELECT `id` FROM {$wpdb->prefix}{$table_name} WHERE `post_id` = %d", $post_id ) );
// Choose a prefix format.
@mishterk
mishterk / advanced-forms-pro-prefill-fields-using-custom-data.php
Created October 21, 2020 03:02
How to use ACF Forms to manage non ACF controlled meta fields with Advanced Forms Pro.
<?php
add_filter( 'af/field/prefill_value', 'prefill_form_field', 10, 4 );
/**
* @param mixed $value
* @param array $field
* @param array $form
* @param array $args
*
@mishterk
mishterk / advanced-forms-pro-dynamic-user-editing.php
Last active October 21, 2020 00:58
Using a custom query parameter to dynamically specify a user ID for editing with Advanced Forms Pro.
<?php
add_filter( 'af/form/args', 'afp_demo_support_dynamic_user_editing', 10, 2 );
/**
* @param array $args
* @param array $form
*
* @return array
*/
@mishterk
mishterk / register-wordpress-admin-columns.php
Created October 14, 2020 21:47
A quick snippet for registering custom admin columns for a post type in WordPress.
<?php
$post_type = 'my-post-type';
add_filter( 'manage_' . $post_type . '_posts_columns', function ( $defaults ) {
$defaults['custom-one'] = 'One';
$defaults['custom-two'] = 'Two';
return $defaults;
} );
@mishterk
mishterk / filter-repeater-sub-fields-before-insert-into-custom-database-tables.php
Last active August 4, 2020 06:38
How to filter repeater sub field values before they are stored in a custom table in ACF Custom Database Tables version 1.1
<?php
add_filter( 'acfcdt/filter_value_before_update', 'xyz_filter_repeater_value_before_insert', 10, 3 );
/**
* @param mixed $value The field value being stored.
* @param string $selector Either the post ID or a compound ACF selector depending on the object type. e.g; user_1.
* @param array $field_array The ACF field array.
*
* @return mixed
@mishterk
mishterk / _markup.html
Created May 20, 2020 04:22
Delegate jQuery event handlers when working with dynamic content. For more info see https://philkurth.com.au/tips/delegate-jquery-event-handlers-when-working-with-dynamic-content/
<div class="PostsGrid">
<!-- This is our div containing our post items -->
<div class="PostsGrid__posts">
<a href="#" class="PostsGrid__post"><!-- …Post grid item here… --></a>
<a href="#" class="PostsGrid__post"><!-- …Post grid item here… --></a>
<a href="#" class="PostsGrid__post"><!-- …Post grid item here… --></a>
</div>
<!-- A button to load more posts -->
@mishterk
mishterk / responsive-oembeds-class-for-wp.php
Created January 9, 2020 07:48
Wraps oEmbed output in markup which we can then target with CSS for fluid responsiveness.
<?php
class ResponsiveOEmbeds {
/**
* Regex patterns for matching specific embeddable URLs
*
* @var array
*/