Support Volgende » Code oplossingen gezocht Volgende » Error met wp_redirect, header en setcookie

  • Opgelost willemvkemenade

    (@willemvkemenade)



    Hallo,

    Ik gebruik al een tijdje redirect/header en setcookie in mijn website. Ik heb ze vaak genoeg getest en werkte altijd gewoon. Zonder iets veranderd te hebben krijg ik nu ineens een error.

    De error:
    Warning: Cannot modify header information – headers already sent by (output started at /var/www/vhosts/84/287576/webspace/httpdocs/bodyandmindheeze.nl/wp-content/themes/hanne/modules/header/head.php:1) in /var/www/vhosts/84/287576/webspace/httpdocs/bodyandmindheeze.nl/wp-includes/pluggable.php on line 1219

    Ik begrijp niet helemaal waarom dit ineens niet meer werkt. Ik heb naar het bestand head.php gekeken op lijn 1, maar daar staat alleen een <!DOCTYPE html> tag in, dus snap niet wat er precies mis mee is.

    Ik heb ook om te testen even op wampserver wordpress geïnstalleerd en alleen een pagina aangemaakt waar er een wp_redirect in staat naar bijvoorbeeld google. Dit werkt ook helemaal niet een geeft ook nog eens een andere plek aan in de error.

    In het geval bij localhost is de error:
    Cannot modify header information – headers already sent by (output started at C:\wamp64\www\wordpress\wp-includes\class.wp-styles.php:225) in C:\wamp64\www\wordpress\wp-includes\pluggable.php on line 1219

    Hierbij op lijn 225 is het iets anders en staart er een echo. Wat moet er nu gebeuren zodat ik weer kan redirecten naar een andere pagina en setcookie weer werkt?

3 reacties aan het bekijken - 1 tot 3 (van in totaal 3)
  • Op welke manier plaats je een wp_redirect in een pagina/bericht?
    Dat is namelijk een functie die niet in de content thuis hoort.

    Een redirect / HTTP headers moeten ingesteld worden vóór er ‘output’ gegenereerd wordt. Anders krijg je inderdaad genoemde foutmelding.

    Waarschijnlijk is foutief gebruik van de functie (verkeerde plek / verkeerde prioriteit) de oorzaak van de foutmelding.

    In dit topic op StackOverflow wordt er wat dieper op ingegaan

    willemvkemenade

    (@willemvkemenade)

    Ik gebruik een plugin dat php snippets heet. Ik heb dan een snippet aangemaakt met alleen wp_redirect("https://www.google.com"); erin en zet daarvan de shortcode in een pagina. Hetzelfde is gedaan om een cookie te setten en dan krijg ik ook een error zodra de pagina opent.

    Wat is dan eigenlijk de beste manier om een redirect te doen of een cookie te setten?

    Voor Redirects zijn er tal van plugins die het waarschijnlijk beter doen.
    Voor het plaatsen en uitlezen van cookies gebruik kan het handig zijn om javascript te gebruiken, dan voorkom je dat het niet juist uitgevoerd wordt bij te strikte caching vanuit een cache plugin of webhosting.
    Of daar plugins voor zijn durf ik niet te zeggen, echter als je op dat niveau werkt zou een eigen plugin/functie in PHP/JS schrijven hiervoor ook wellicht nog een optie zijn.

3 reacties aan het bekijken - 1 tot 3 (van in totaal 3)