Skip to content

Instantly share code, notes, and snippets.

View yuriinalivaiko's full-sized avatar

Yurii Nalivaiko yuriinalivaiko

View GitHub Profile
@yuriinalivaiko
yuriinalivaiko / um_custom_batch_check.php
Created August 25, 2026 07:43
Ultimate Member customization. Replace the slow batch status check function with an optimized custom function.
<?php
// Replace the slow batch status check function with an optimized custom function.
if ( function_exists( 'UM' ) ) {
$Users = UM()->classes['um\common\actions\users'];
remove_action( $Users::BATCH_ACTION, array( $Users, 'batch_check' ) );
add_action( $Users::BATCH_ACTION, 'um_custom_batch_check', 10, 3 );
function um_custom_batch_check( $page, $total, $pages ) {
global $wpdb;
@yuriinalivaiko
yuriinalivaiko / functions.php
Last active June 20, 2026 09:45
Ultimate Member customization. Giving the Ultimate Member forms and directory settings access without the `manage_options` capability.
<?php
// Giving the Ultimate Member forms and directory settings access without the `manage_options` capability.
if ( function_exists( 'UM' ) && ! current_user_can( 'manage_options' ) ) {
remove_action( 'admin_menu', array( UM()->admin_menu(), 'primary_admin_menu' ), 0 );
remove_action( 'admin_menu', array( UM()->admin_menu(), 'secondary_menu_items' ), 1000 );
add_action( 'admin_menu', 'my_um_primary_admin_menu', 0 );
add_action( 'admin_menu', 'my_um_secondary_menu_items', 1000 );
add_filter( 'register_post_type_args', 'my_um_post_type_capabilities', 10, 2 );
add_filter( 'user_has_cap', 'my_um_user_has_cap', 10, 4 );
@yuriinalivaiko
yuriinalivaiko / um_enqueue_style_in_header.php
Created January 22, 2026 18:48
Ultimate Member customization. A solution to fix loading styles in the Impreza theme.
<?php
/**
* Some versions of the Impreza theme can not load styles in the footer.
* Use this code to force load Ultimate Member styles in the header.
*/
function um_enqueue_style_in_header() {
$um_styles = array(
'um_old_css',
'um_default_css',
@yuriinalivaiko
yuriinalivaiko / um_validate_email_domain.php
Created December 1, 2025 11:41
Ultimate Member customization. Block registration that contains specific strings in the email domain.
<?php
// Custom validation for the "E-mail Address" field on registration.
// Block registration that contains specific strings in the email domain.
function um_validate_email_domain( $args ) {
// List blocked email domains here (entire domain or a part of it).
$blocked_email_domains = array(
'vovk.store'
);
@yuriinalivaiko
yuriinalivaiko / um_profile_form_shortcode.php
Last active December 11, 2025 19:49
Ultimate Member customization. Shortcode that displays the form section of the Ultimate Member profile.
<?php
/**
* Builds the profile form shortcode output.
*
* The supported attributes for the shortcode are 'form_id'.
* Example 1: [um_profile_form]
* Example 2: [um_profile_form form_id="1740"]
*
* @param array $atts {
@yuriinalivaiko
yuriinalivaiko / functions.php
Last active November 13, 2025 17:26
Code snippet for the ticket #107666
<?php
/**
* Outputs Social Media Icons.
*/
if ( ! function_exists( 'um_theme_social_menu' ) ) {
function um_theme_social_menu() {
global $defaults;
@yuriinalivaiko
yuriinalivaiko / um_user_locations_map_args_customize_06.php
Created October 16, 2025 20:47
This code snippet replaces the full address with the city name in the User Location field.
<?php
/**
* Change the user location field value. Save only a city.
*/
add_action( 'wp_footer', function () {
?><script type="text/javascript">
var currentLocationField;
jQuery( '.um_user_location_g_autocomplete' ).on( 'click', function() {
currentLocationField = this;
@yuriinalivaiko
yuriinalivaiko / style.css
Last active February 11, 2026 14:15
Code snippets for the "User Locations" extension
/*
* Make the location search line and the general search line full-width
* Example: https://ibb.co/0jH0FZ9C
*/
.um-directory .um-member-directory-header .um-member-directory-map-controls div.um-member-directory-map-controls-half,
.um-directory .um-member-directory-header .um-member-directory-header-row div.um-member-directory-search-line {
width: 100%;
}
@yuriinalivaiko
yuriinalivaiko / um_member_directory_filter_AND.php
Last active August 7, 2026 21:36
Ultimate Member customization. Code snippets for the member directory.
<?php
/**
* Change the member directory "select" filter logic to AND (default usermeta table).
*
* @param mixed $field_query Filter query.
* @param string $field Field meta mey.
* @param array|string $value Filter values.
* @param string $filter_type Filter type.
* @return array Filter query.
@yuriinalivaiko
yuriinalivaiko / um_messaging_autodelete.php
Last active January 3, 2026 13:41
Code snippets for the "Private Messages" extension
<?php
// Delete private messages after 6 months.
add_action( 'um_daily_scheduled_events', 'um_messaging_autodelete' );
function um_messaging_autodelete() {
global $wpdb;
$timestamp = strtotime( '6 months ago');
$sql = $wpdb->prepare(