A few changes to your code:
- Changed the action hook to
wp_head
. - Removed the false ‘pluggable’ wrapping of your function.
if ( ! function_exists( 'post_is_in_descendant_category' ) ) {
function post_is_in_descendant_category( $cats, $_post = null ) {
foreach ( (array) $cats as $cat ) {
// get_term_children() accepts integer ID only
$descendants = get_term_children( (int) $cat, 'category' );
if ( $descendants && in_category( $descendants, $_post ) )
return true;
}
return false;
}
}
function hiderelated(){
if ( in_category( 168 ) || post_is_in_descendant_category( 168 ) ) {
?>
<style>
.relatednews { display: none; }
</style>
<?php
}
}
add_action( 'wp_head', 'hiderelated' );