Come determinare se un post ha contenuto widget?
Ho una sidebar registrata chiamata "my-header" che influisce sul posizionamento assoluto degli elementi sottostanti nel markup.
Quindi ho bisogno di eseguire una query in header.php per determinare se la sidebar è presente per il post corrente, e scrivere un identificatore di classe nel tag body del mio tema. Userò questa classe CSS per regolare di conseguenza il posizionamento assoluto degli elementi.
Esiste un metodo che può essere chiamato, separatamente dal metodo usato per visualizzare la sidebar, per determinare se il post ha contenuto widget per il widget "my-sidebar"? Per esempio, uno che restituisce semplicemente vero/falso?
Dopo aver esaminato widgets.php, ho provato a usare is_active_sidebar('my-header') ma restituisce vero per tutte le pagine. Ho bisogno di una funzione che accetti il post come argomento. Altrimenti, se non esiste, suppongo che dovrò creare la mia funzione.

<?php
$bodyclass = "";
// siamo su una pagina 'single'? ad esempio un articolo, una pagina o un altro tipo di post personalizzato?
if(is_single()){
// è un post di tipo 'page'? oppure è un articolo del blog?
global $post;
if($post->post_type == 'page'){
// ora possiamo verificare se abbiamo una sidebar con contenuti attivi
if( is_active_sidebar('my-header')){
$bodyclass="wehavesidebarcontentyay";
}
}
}
?>
<body <?php body_class($bodyclass); ?>>
Anche se sono sicuro che se hai body_class nel tag body, allora hai già le classi css e i selettori necessari per fare questo senza il codice PHP.
