janochen
  • 0
Мастер

Как написать оператор if, который гласит: «если этот пользовательский тип записи или его дочерний элемент делает следующее»?

  • 0

По сути, я хотел бы активировать класс CSS, только если текущая страница является определенным настраиваемым типом сообщения (например ?bbp_forum=technology, ) или если текущая страница является дочерним элементом этого настраиваемого типа сообщения.

РЕДАКТИРОВАТЬ:

Первый настраиваемый тип записи называется ‘ bbp_forum .’ Каждый ‘ bbp_forum ‘ может иметь ‘ bbp_topic ‘ (это еще один настраиваемый тип записи).

Как это описано на этой картинке:

введите описание изображения здесь

Раньше я делал следующее, чтобы назначить класс current текущей bbp_forum ссылке:

        <?php
            global $post;
            $the_post_ID = $post->ID;
            $cat_posts = get_posts('post_type=bbp_forum&posts_per_page=-1');
            var_dump($the_post_ID);
        ?>
        <?php foreach ( $cat_posts as $post ) : ?>
            <li <?php if ( $post->ID == $the_post_ID )  echo 'class="current"'; ?>>
                <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a>
            </li>

        <?php endforeach; ?>

но это не работает для ребенка ‘ bbp_forum

Share
  1. Почему бы вам не объяснить варианты использования вашего пользовательского типа сообщений и особенно дочерних типов сообщений. Они такие же, как их родители, или разные?

    • 0
  2. Случайно получил ответ:

            <?php
                global $post;
                $the_post_parent = $post->post_parent;
                $the_post_ID = $post->ID;
                $cat_posts = get_posts('post_type=bbp_forum&posts_per_page=-1');
                print_r($post_parent);
            ?>
            <?php foreach ( $cat_posts as $post ) : ?>
                <li <?php if ( $post->ID == $the_post_ID || $post->ID == $the_post_parent ) echo 'class="current"'; ?>>
                    <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a>
                </li>
            <?php endforeach; ?>
    

    Буду признателен, если кто-нибудь объяснит мне это.

    • 0

Оставить ответ

You must login to add an answer.