特定类别中的自定义HTML单页面及其后代类别

时间:2021-03-31 作者:Gustavo Matera

我试图插入一个;“样式”;在类别及其子类别的单个页面中。

。relatednews{显示:无}。我在函数中插入了以下代码。php的子主题,但它没有工作。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

function post_is_in_descendant_category(){
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\', \'hiderelated\' );
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

救救我!我需要帮助才能使这种风格在类别168及其后代类别中发挥作用?

1 个回复
最合适的回答,由SO网友:Michael 整理而成

对代码的一些更改:

将动作挂钩更改为wp_head.

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\' );