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 September 9, 2022 14:58
Ultimate Member v3: Reset Password change default 12 hours timeout for flushing password reset attempts
function um_001122_config_get( $data, $key ) {
if ( 'password_reset_attempts_timeout' === $key ) {
// Use any time in seconds. There is using WordPress constant for making timeout = 24hr. Important! Value must be not null and numeric.
$data = DAY_IN_SECONDS;
}
return $data;
}
add_filter( 'um_config_get', 'um_001122_config_get', 10, 2 );
@nikitasinelnikov
nikitasinelnikov / functions.php
Created September 13, 2022 15:33
Ultimate Member v2: User Reviews. Remove star
remove_filter( 'um_profile_field_filter_hook__user_rating', 'um_reviews_show_rating', 99 );
/**
* Hide rating at frontend
*
* @param $value
* @param $data
*
* @return string
*/
@nikitasinelnikov
nikitasinelnikov / functions.php
Created October 5, 2022 02:03
JobBoardWP: Change display name after job submission
function my_jb_update_user_display_name( $userdata ) {
$userdata['display_name'] = $userdata['first_name'] . ' ' . $userdata['last_name'];
return $userdata;
}
add_filter( 'jb_job_submission_create_account_data', 'my_jb_update_user_display_name', 10, 1 );
add_filter( 'jb_job_submission_update_account_data', 'my_jb_update_user_display_name', 10, 1 );
@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 );
@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 / 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
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 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 / 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
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' );