[Помогите] вывести название текущей категории

Тема в разделе "Wordpress", создана пользователем Jaarg, 25 июн 2009.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. Jaarg

    Jaarg

    Регистр.:
    18 авг 2008
    Сообщения:
    503
    Симпатии:
    97
    если в шабе вставить
    PHP:
    <?php the_category(', '?> 
    то текущая категория выводится, но она выводится, как активная ссылка. а мне нужно, что бы выводилось просто название категории.
    как это можно реализовать?
     
  2. CjGuSSa

    CjGuSSa

    Регистр.:
    9 фев 2009
    Сообщения:
    196
    Симпатии:
    45
    Примитивно, но далжно работать :)

    Код:
    <? strip_tags(the_category(', ')) ?>
     
    Jaarg нравится это.
  3. Jaarg

    Jaarg

    Регистр.:
    18 авг 2008
    Сообщения:
    503
    Симпатии:
    97
    не работает (
    категорию выводит, но она попрежнему является ссылкой
     
  4. mydooms

    mydooms Постоялец

    Регистр.:
    22 фев 2008
    Сообщения:
    105
    Симпатии:
    26
    http://codex.wordpress.org/Template_Tags/single_cat_title
     
    Jaarg нравится это.
  5. Tushkan

    Tushkan

    Регистр.:
    9 апр 2007
    Сообщения:
    208
    Симпатии:
    61
    Единственный вариант (во всяком случае я вижу только такую альтернативу) это шаманить с самим движком...

    файл
    wp-includes/category-template.php

    там 2 функции
    function the_category - вызывает get_the_category_list
    function get_the_category_list

    Короче добавляешь в начало файла копии этих вункций и немного их видоизменяешь(и названия ессно тоже). Например так:

    PHP:

    function the_category_2$separator ''$parents=''$post_id false ) {
        echo 
    get_the_category_list_2$separator$parents$post_id );


    function 
    get_the_category_list_2$separator ''$parents=''$post_id false ) {
        global 
    $wp_rewrite;
        
    $categories get_the_category$post_id );
        if ( empty( 
    $categories ) )
            return 
    apply_filters'the_category'__'Uncategorized' ), $separator$parents );

        
    $rel = ( is_object$wp_rewrite ) && $wp_rewrite->using_permalinks() ) ? 'rel="category tag"' 'rel="category"';

        
    $thelist '';
        if ( 
    '' == $separator ) {
            
    $thelist .= '<ul class="post-categories">';
            foreach ( 
    $categories as $category ) {
                
    $thelist .= "\n\t<li>";
                switch ( 
    strtolower$parents ) ) {
                    case 
    'multiple':
                        if ( 
    $category->parent )
                            
    $thelist .= get_category_parents$category->parenttrue$separator );
                        
    $thelist .= $category->name.'</li>';
                        break;
                    case 
    'single':
                        
    $thelist .= '<a href="' get_category_link$category->term_id ) . '" title="' sprintf__"View all posts in %s" ), $category->name ) . '" ' $rel '>';
                        if ( 
    $category->parent )
                            
    $thelist .= get_category_parents$category->parentfalse$separator );
                        
    $thelist .= $category->name.'</li>';
                        break;
                    case 
    '':
                    default:
                        
    $thelist .= $category->cat_name.'</li>';
                }
            }
            
    $thelist .= '</ul>';
        } else {
            
    $i 0;
            foreach ( 
    $categories as $category ) {
                if ( 
    $i )
                    
    $thelist .= $separator ' ';
                switch ( 
    strtolower$parents ) ) {
                    case 
    'multiple':
                        if ( 
    $category->parent )
                            
    $thelist .= get_category_parents$category->parenttrue$separator );
                        
    $thelist .= $category->cat_name;
                        break;
                    case 
    'single':
                        
    $thelist .= '<a href="' get_category_link$category->term_id ) . '" title="' sprintf__"View all posts in %s" ), $category->name ) . '" ' $rel '>';
                        if ( 
    $category->parent )
                            
    $thelist .= get_category_parents$category->parentfalse$separator );
                        
    $thelist .= "$category->cat_name</a>";
                        break;
                    case 
    '':
                    default:
                        
    $thelist .= $category->name;
                }
                ++
    $i;
            }
        }
        return 
    apply_filters'the_category'$thelist$separator$parents );
    }
    Честно говоря там надо код почистить, лишнее выкинуть и т.д....
    Но смысл понятен.. думаю...

    И в шаблоне соответственно вызываешь уже свою функцию the_category_2(', ');

    Как то так... Тупо конечно, но работать будет... В приведённом коде возможны ошибки, просто на скорую руку копировал и удалял... Посмотри оригинал...
     
  6. Jaarg

    Jaarg

    Регистр.:
    18 авг 2008
    Сообщения:
    503
    Симпатии:
    97
    PHP:
    <p><?php single_cat_title('Currently browsing '); ?>.</p>
    у меня выводит только точку. может это у меня что то с вп?

    Добавлено через 1 минуту
    смысл понятен, но оно будет без активной ссылки или с ней?
     
  7. Tushkan

    Tushkan

    Регистр.:
    9 апр 2007
    Сообщения:
    208
    Симпатии:
    61
    Если теги <а и бла бла бла уберёшь то будет без них выводить...
    Можно конечно щас посидеть и написать нормальную, короткую функцию, но лень честно говоря :)
     
    Jaarg нравится это.
  8. Jaarg

    Jaarg

    Регистр.:
    18 авг 2008
    Сообщения:
    503
    Симпатии:
    97
    решение

    оказалось все до неприличия просто :ah:

    PHP:
    <?php echo single_cat_title(); ?>
    то есть, не хватало echo

    спасибо всем )
     
Статус темы:
Закрыта.