How to add_filter for custom links in wordpress

Viewed 163

I have added some code into my functions.php that adds a referral code for the logged in user to what ever page they click on throughout mysite - it adds ?onepin=IOP82882 to the URL's throughout my site.

I've got it working for every link, however any 'custom url' links ive added in my menu in Apperance>Menus doesn't show the ?onepin=IOP82882 on the URL.

How can i add custom links to this filter?

function query_arg_for_logged_user($permalink){
if ( is_user_logged_in() ) {



        $mypin = xprofile_get_field_data( 211, bp_loggedin_user_id(),);
    return add_query_arg('onepin', $mypin, $permalink);
}
}

if ( is_user_logged_in() ) {
add_filter( 'home_url', 'query_arg_for_logged_user', 11, 1);
add_filter( 'post_link', 'query_arg_for_logged_user', 10, 1);
add_filter( 'page_link', 'query_arg_for_logged_user', 10, 1);
add_filter( 'post_type_link', 'query_arg_for_logged_user', 10, 1);
add_filter( 'category_link', 'query_arg_for_logged_user', 11, 1);
add_filter( 'tag_link', 'query_arg_for_logged_user', 10, 1);
add_filter( 'author_link', 'query_arg_for_logged_user', 11, 1);
add_filter( 'day_link', 'query_arg_for_logged_user', 11, 1);
add_filter( 'month_link', 'query_arg_for_logged_user', 11, 1);
add_filter( 'year_link', 'query_arg_for_logged_user', 11, 1);


}

I have tried adding

add_filter( 'custom_link', 'query_arg_for_logged_user', 11, 1);

But this doesn't seem to do anything or give any errors either.

1 Answers

If you want this done on every page, have you tried just doing something like this?

function query_arg_for_logged_user($permalink){
if ( is_user_logged_in() ) {

    $mypin = xprofile_get_field_data( 211, bp_loggedin_user_id(),);
    return add_query_arg('onepin', $mypin, $permalink);
}
}

if ( is_user_logged_in() ) {
add_action( 'init', 'query_arg_for_logged_user' );
}
Related