Skip to content

Instantly share code, notes, and snippets.

View nikitasinelnikov's full-sized avatar

Mykyta Synelnikov nikitasinelnikov

  • ultimatemember.com
  • Kharkiv, Ukraine
View GitHub Profile
@nikitasinelnikov
nikitasinelnikov / functions.php
Last active March 25, 2024 22:46
Custom gender field and filter in member directory for it
function custom_um_query_args_c2n_gender__filter_meta( $skip, $query, $field, $value, $filter_type, $is_default ) {
if ( ! is_array( $value ) ) {
$value = array( $value );
}
// $join_alias is pre-escaped.
$query->joins[] = "LEFT JOIN {$wpdb->prefix}um_metadata {$join_alias} ON {$join_alias}.user_id = u.ID";
$values_array = array();
foreach ( $value as $single_val ) {
@nikitasinelnikov
nikitasinelnikov / functions.php
Created February 21, 2024 22:06
Get dumped data
add_action( 'init', 'my_custom_init' );
function my_custom_init() {
if ( isset( $_GET['check_lifeguard'] ) && '1' == $_GET['check_lifeguard'] ) {
global $wpdb;
$meta_results = $wpdb->get_results(
"SELECT um.*
FROM {$wpdb->usermeta} um
WHERE um.user_id IN('1736','1251')",
ARRAY_A
@nikitasinelnikov
nikitasinelnikov / functions.php
Created January 5, 2024 13:36
Ultimate Member: Change the WP_Post object (title, content, excerpt) for displaying the restricted post. Ignore or use your custom
// It works since the 2.2.3:
// Avoid changing the post title to the "restricted content title".
add_filter( 'um_ignore_restricted_title', '__return_true' );
// Avoid changing the post content to the "restricted content content" not recommended to use or use with caution!
add_filter( 'um_ignore_restricted_content', '__return_true' );
// Avoid flushing the post excerpt when post is restricted.
add_filter( 'um_ignore_restricted_excerpt', '__return_true' );
// It works since the 2.8.2:
/**
@nikitasinelnikov
nikitasinelnikov / class-user.php
Created November 22, 2023 09:42
Investigate double email issue
<?php
namespace um\core;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'um\core\User' ) ) {
@nikitasinelnikov
nikitasinelnikov / functions.php
Created November 13, 2023 12:03
Ultimate Member v2. Default sorting as verified + last login
// Select this option https://imgur.com/VM2tJhv
// for getting show verified users and active users(last login recent) first in result
function um_custom_verified_last_login( $query_args, $sortby ) {
if ( $sortby == 'verified_first' ) {
if ( empty( $query_args['meta_query'] ) ) {
$query_args['meta_query'] = array();
}
$query_args['meta_query'][] = array(
'relation' => 'OR',
@nikitasinelnikov
nikitasinelnikov / class-form.php
Created October 31, 2023 08:52
Probably fix by singleton
<?php
namespace um\core;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'um\core\Form' ) ) {
/**
@nikitasinelnikov
nikitasinelnikov / functions.php
Created October 18, 2023 10:37
Ultimate Member + Country State City Dropdown PRO: Custom callbacks for select fields Country, State, City
function um_customcb_populate_countries() {
$countries = array();
if ( ! function_exists( 'get_countries' ) ) {
return $countries;
}
$all_countries = get_countries();
if ( empty( $all_countries ) ) {
return $countries;
}
@nikitasinelnikov
nikitasinelnikov / functions.php
Created October 13, 2023 23:01
Generate own logic custom usermeta slug
// Generate slug in format: {First Name}-{First letter of Last Name}~{hash}
function um_custom_generate_custom_slug( $user_obj ) {
return strtolower( $user_obj->first_name . '-' . substr( $user_obj->last_name, 0, 1 ) . '~' . substr( strrev( md5( uniqid( 'um_user_hash' . $user_obj->ID, true ) . $user_obj->ID ) ), 0, 5 ) );
}
function um_update_custom_usermetaaa( $user_id ) {
$permalink_base = UM()->options()->get( 'permalink_base' );
if ( 'custom_meta' === $permalink_base ) {
$custom_meta = UM()->options()->get( 'permalink_base_custom_meta' );
@nikitasinelnikov
nikitasinelnikov / class-rewrite.php
Last active September 25, 2023 13:19
Debuggin `locate_user_profile()` function
// Replace the function in ultimate-member/includes/core/class-rewrite.php
/**
* Locate/display a profile.
*/
public function locate_user_profile() {
$permalink_base = UM()->options()->get( 'permalink_base' );
if ( 'custom_meta' === $permalink_base ) {
$custom_meta = UM()->options()->get( 'permalink_base_custom_meta' );
if ( empty( $custom_meta ) ) {
@nikitasinelnikov
nikitasinelnikov / functions.php
Last active August 2, 2023 22:03
Adds profile permissions to view/edit.
function um_custom_can_view_profile( $can_view, $user_id ) {
if ( ! is_user_logged_in() ) {
if ( user_can( $user_id, 'um_volunteer' ) ) {
$can_view = false;
}
} else {
if ( current_user_can( 'um_volunteer' ) && user_can( $user_id, 'um_volunteer' ) ) {
$can_view = false;
}
}