maksym1991
@maksym1991
WordPress adept

Как изменить условие в фильтре?

Здравствуйте, суть фильтра в том, что когда пользователь принимает лицензионное соглашение он получает значение в сессию $_SESSION['i_accept'] = 'i_accept'. На основе этого значения принимается решение, перенаправить пользователя на страницу поста или на страницу соглашения(disclaimer).

Задача заключается вот в следующем:
Есть плагин для печати Print, PDF, Email by PrintFriendly. Но для своей работы он использует свой сервер и понятно что сессию он не получит. И в итоге плагину на сервер всегда приходит страница соглашения.

Как добавить сервер плагина в исключение в этом фильтре?

5c470dd44e2ce334944613.png
function cv_change_post_link( $url, $post, $leavename=false ) {

	if( 'yes' == $_SESSION['i_accept']){ //как изменить условие?
		return $url;
	}

	if ( $post->post_type == 'post' && !is_page('disclaimer') ) {

		$url = add_query_arg( 'ID', $post->ID, esc_url( home_url('/').'disclaimer') );

	}
	return $url;
}
add_filter( 'post_link', 'cv_change_post_link', 10, 3 );
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
Не понятно, страницу то вы проверяете у себя, в чем проблема? Да и нет там хуков,фильтр в конце, да есть.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы