Подсветка вкладок в CSS: Разработка темы для Wordpress - PullRequest
1 голос
/ 30 августа 2011

Мне нужна ваша помощь в самообучении по разработке тестовой темы WordPress. Я хочу создать подсвечивающие вкладки в css, подобные http://www.countryqueenslandbookkeepers.com.au/, я пытаюсь сделать подобное в wordpress, получив значение page_id в URL и сравнив его с идентификатором поста. если он равен, то эхо должно быть «выбрано» или «по умолчанию». Однако он работает нормально, когда я меняю постоянную ссылку, например, www.mydomain /% postname% /, он больше не работает.

Как я могу получить значение или как я могу сравнить /%postname%/, чтобы я мог "отобрать" ссылку на мою ссылку?

<?php 
        $all_posts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE
                post_type = 'page' AND 
                post_status = 'publish'
                ORDER by ID ASC");  
        foreach ($all_posts as $post):
    ?> 
        <li class="<?php 
                        if($post->ID == $_GET['page_id']){
                            echo"selected";
                        }else{
                            echo "default";
                        }?>">
            <a href="<?php echo $post->guid; ?>"><?php echo $post->post_title; ?></a>
        </li>
    <?php endforeach; ?>    

Ответы [ 2 ]

0 голосов
/ 19 октября 2011

Вы захотите использовать класс CSS .current-menu-item, который автоматически применяется к каждому активному пункту меню.Измените ваш style.css соответствующим образом, и вы получите эффект выделения.Смотрите кодекс WordPress на Подсветка динамического меню .

0 голосов
/ 30 августа 2011

Используйте взамен get_permalink .Вы передаете идентификатор сообщения, и постоянная ссылка возвращается.Также проверьте wordpress.stackexchange.com.Ответы на подобные вопросы в WordPress часто бывают там лучше.Вопросы кодирования здесь лучше.

     <?php 
     if(get_permalink($post->ID) == currentURL){
           echo"selected";
     }else{
        echo "default";
     }?>">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...