J'ai trois filtres déroulants sur le site avant pour sélectionner le pays, le territoire et la région et je dois rediriger l'utilisateur vers la page du pays/territoire/région en fonction des valeurs du filtre en cliquant sur le bouton Soumettre.
Pour votre information, j'ai des pages avec le même slug.eg- exemple.com/nom-pays/numéro-territoire/nom_région
J'essaie d'utiliser wp_redirect( $final_url ); exit;
mais il lance un avertissement-
Avertissement: impossible de modifier les informations d'en-tête - en-têtes déjà envoyés par (sortie démarrée sous E:\chemin\dossier\répertoire racine\wp-includes\class.wp-styles.php: 154) dans E:\chemin\répertoire\racine dossier\wp-includes\pluggable.php à la ligne 1121
S'il vous plaît aider.
Quelqu'un peut-il me suggérer un meilleur moyen?
// Edit- voici mon code
if(isset($_POST['submit']) and $_POST['action']=='findurl')
{
//Result $POST Array ( [countrySelect] => 1 [territorySelect] => 1 [regionSelect] => 2 )
if (isset($_POST['countrySelect'])){
$rows_country_url = $wpdb->get_results("select url from country where id=".$_POST['countrySelect']."");
}
if (isset($_POST['territorySelect'])){
$rows_territory_url = $wpdb->get_results("select url from territory where id=".$_POST['territorySelect']."");
}
if (isset($_POST['regionSelect'])){
$rows_region_url = $wpdb->get_results("select url from region where id=".$_POST['regionSelect']."");
}
if($rows_country_url[0]->url !=''){
$final_url = home_url('/').$rows_country_url[0]->url;}
if($rows_territory_url[0]->url !=''){
$final_url = $final_url.'/'.$rows_territory_url[0]->url;}
if($rows_region_url[0]->url !=''){
$final_url = $final_url.'/'.$rows_region_url[0]->url;}
echo $final_url;
if($final_url!=''){
wp_redirect( home_url() ); exit;
echo "not blank";
}else{ echo "Please select values";}
}
Assurez-vous qu'il n'y a pas de sortie de données ou d'espaces vides au-dessus de wp_redirect( $final_url ); exit;
, sinon cet avertissement apparaîtra toujours.
Aussi éventuellement vous pouvez utiliser
<?php
//Php code
?>
<script type="text/javascript">
document.location.href="http://example.com";
</script>
<?php
//php code
?>
Ma solution est.
Créez une fonction pour la redirection javascript.
fonction rm_redirect ($ url) {$ string = ''; $ string. = 'window.location = "'. $ url. '"'; $ string. = ''; echo $ string; }
Appelez cette fonction quand vous le souhaitez.
rm_redirect (' http://example.com ');