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
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;
}
}
@nikitasinelnikov
nikitasinelnikov / functions.php
Last active June 28, 2023 21:55
JobBoardWP: Remove application field required attribute
// remove required mark from form
function remove_required_attr( $args ) {
foreach ( $args['sections']['job-details']['fields'] as &$field_data ) {
if ( 'job_application' !== $field_data['id'] ) {
continue;
}
$field_data['required'] = false;
}
return $args;
@nikitasinelnikov
nikitasinelnikov / functions.php
Last active June 8, 2023 18:22
Ultimate Member: Disable sending email by a user role
function um_custom_disable_by_role( $disable_sending, $email, $template, $args ) {
$user = get_user_by( 'email', $email );
if ( user_can( $user, '{necessary_role_for_disable}' ) ) {
$disable_sending = true;
}
return $disable_sending;
}
add_filter( 'um_disable_email_notification_sending', 'um_custom_disable_by_role', 10, 4 );
@nikitasinelnikov
nikitasinelnikov / functions.php
Created May 25, 2023 06:49
JobBoardWP: Change the job slug on insert post
function my_custom_date_add( $data, $postarr, $unsanitized_postarr, $update ) {
if ( 'jb-job' === $data->post_type ) {
$data->post_name = wp_date( 'Y-m-d', strtotime( $data->post_date ) ) . $data->post_name;
}
return $data;
}
add_filter( 'wp_insert_post_data', 'my_custom_date_add', 10, 4 );
@nikitasinelnikov
nikitasinelnikov / functiions.php
Created April 23, 2023 22:11
JobBoardWP: Change wp_editor description to the clear textarea
function jb_job_submission_form_args_custom( $args ) {
foreach ( $args['sections']['job-details']['fields'] as &$field ) {
if ( 'job_description' === $field['id'] ) {
$field['type'] = 'textarea';
}
}
return $args;
}
add_filter( 'jb_job_submission_form_args', 'jb_job_submission_form_args_custom', 10, 1 );