Pokúšam sa nastaviť názov príspevku ako hlavičku HTTP. Vyskúšal som niekoľko variácií nižšie uvedeného kódu (s alebo bez ->ID
možnosť) a nič nevystupuje, alebo dostanem Trying to get property of non-object in
chyba:
is_admin() || add_action("send_headers", function(){
global $post;
$title = get_the_title($post->ID);
header("X-IC-Title:" . $title);
}, 1);
odpovede:
1 pre odpoveď č. 1Váš kód je v skutočnosti veľmi blízko.
Ak sa na to pozriete v tomto zozname zo všetkých svojich akčných háčikov uvidíte, že send_headers
akcia nastane pred úplným nastavením objektu Wordpress.
To znamená, že obvyklé objekty afunkcie, ktoré odkazujú na globálov Wordpress, v tomto okamihu životného cyklu nebudú fungovať. V skutočnosti sa musíte pripojiť k jadru o niečo neskôr, aby ste mohli načítať údaje súvisiace s príspevkom.
Nie som si istý, prečo máte is_admin() ||
skontrolujte predponu svojho akčného háku. add_action
vráti hovor na add_filter
(zdroj), ktorý vráti boolovskú hodnotu true
(zdroj).
Skrat by vám tu nebol k ničomu, preto som váš kód upravil takto:
add_action("wp", function(){
global $post;
$title = get_the_title($post->ID);
header("X-IC-Title:" . $title);
}, 1);
Testoval som to v čistej inštalácii Bedrock na serveri Homestead a vo svojom sieťovom výstupe vidím novú hlavičku (pripojená snímka obrazovky).
Dúfajme, že to pomôže!