Как сделать редирект на определенную страницу в WordPress?

2 мар. 2015 г., 15:10:48
Просмотры: 28.4K
Голосов: 4
<?php 
// Если операция успешна
if($result_array['ACK']== 'Success'){
  global $wpdb;
  // Вставляем данные платежа в базу данных
  $wpdb->insert('wp_paypal_payment', array(
    'amount' => $result_array['AMT'],
    'post_id' => $_REQUEST['post_id'],
    'firstname' => $_REQUEST['first_name'],
    'lastname' => $_REQUEST['last_name']
  ));  
  wp_redirect( get_page_by_title( 'thank-you' ) );
}else{
  // В случае ошибки перенаправляем на FAQ
  header("Location : http://localhost/mysite/faq");
}
?>

Мой запрос работает, но я не понимаю, как правильно сделать редирект на мою страницу и отобразить содержимое любой моей страницы в WordPress. Пожалуйста, помогите мне.

0
Все ответы на вопрос 1
1

Вам нужно получить ID страницы, которую вы ищете:

$page = get_page_by_title('thank-you');
wp_redirect(get_permalink($page->ID));
exit;

Похоже, вы хотите получить страницу по её ярлыку (slug). Если это так, вам следует использовать эту функцию вместо этого.

Также, для заголовка Location не используйте пробел после строки "Location":

header("Location: http://localhost/mysite/faq");
2 мар. 2015 г. 15:57:21
Комментарии

Начиная с WP 6.2: функция get_page_by_title устарела Вместо неё следует использовать WP_Query.

Trond Trond
15 июн. 2023 г. 22:21:53