Come ottenere l'ID della pagina corrente fuori dal loop?
Sicuramente dovrebbe essere la risposta giusta. Sto cercando di ottenere l'ID corrente di un post o di una pagina, e questo è l'unico modo che mi fornisce l'ID corretto senza dover codificare manualmente le condizioni.

ho provato tutte le soluzioni trovate su google ma non è successo nulla

è difficile sapere quali sono "tutte le soluzioni che hai trovato" :) assicurati che il codice sia in una funzione, che tu stia chiamando quella funzione e inizia il debug con l'echo di qualcos'altro che deve essere visibile...

non sono riuscito ad ottenere l'id usando la funzione, e le "soluzioni" sono
global $wp_query;
$thePostID = $wp_query->post->ID;
global $post;
$thePostID = $post->ID;
global $wp_query;
$page = $wp_query->get_queried_object();
$page_id = $page->ID;
$page_id = get_queried_object_id();

Per coloro a cui questo non funziona ancora, dovrete utilizzare qualche tipo di add_action (potete scegliere quale volete usare). Nel mio esempio, questo restituirà l'ID della pagina corrente senza problemi, indipendentemente dal fatto che sia in una cartella di plugin, nel file functions.php o altrove.
add_action('template_redirect', 'showid');
function showid(){
global $wp_query;
$theid = intval($wp_query->queried_object->ID);
echo $theid;
}
Buona fortuna e buon coding!

Sono d'accordo, questo è l'unico metodo che ha funzionato per me. Avevo bisogno di verificare se la pagina o il post corrente si trova in una categoria e forzare un reindirizzamento in tal caso, ma dovevo farlo prima del loop. Questo action hook è ciò che mi serviva per far funzionare l'oggetto interrogato.
