/ / Wordpress post title in functions - php, wordpress, function, http-headers

WordPress post hlavy vo funkciách - php, wordpress, funkcia hlavičky http

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ď č. 1

Váš 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).

Skúška podložia

Dúfajme, že to pomôže!