Skip to content

Instantly share code, notes, and snippets.

@vanpariyar
Created January 26, 2021 09:04
Show Gist options
  • Select an option

  • Save vanpariyar/32f4d3299121db384ec60947c53d1b00 to your computer and use it in GitHub Desktop.

Select an option

Save vanpariyar/32f4d3299121db384ec60947c53d1b00 to your computer and use it in GitHub Desktop.
how to select all of the urls email encoded in wordpress rewrite api

Hook the function

$regexMatchParameter = '([^/]+)'; is very useful

/**
 * Add User key parameter to the Query
 *
 * @hooked 'init'
 */
function addUserOptLinksEndpoint()
{
    $regexMatchParameter = '([^/]+)';
    add_rewrite_endpoint('endpoint', EP_ALL);
    add_rewrite_rule('endpoint/' . $regexMatchParameter . '/?', 'index.php?e=$matches[1]', 'top');

    add_rewrite_tag('%e%', $regexMatchParameter);
    add_rewrite_tag('%campaign%', $regexMatchParameter);
    add_rewrite_tag('%opt_out%', $regexMatchParameter);
}

add_action('init', 'addUserOptLinksEndpoint');

To get this parameter

function parseAddUserOptLinksEndpoint()
{

    /**
     * Add sanitizer on the Fields
     */


    $user_email =  sanitize_email( urldecode( get_query_var('e') ) );
    $user_campaign = sanitize_text_field( get_query_var('campaign') );
    $user_opt_out = sanitize_text_field( get_query_var('opt_out') );

    /**
     * Check the fields are empty or not
     */
    if( ( empty($user_email) || empty($user_campaign) || empty($user_opt_out) ) ) {
        return;
    }

    /**
     * check the email id is valid or not.
     */
    if( is_wp_error( $user ) && $checkCampaign != $user_campaign && $checkOptOutValue != $user_opt_out ){
        return;
    }
}  
add_action('template_redirect', 'parseAddUserOptLinksEndpoint');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment