• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

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

Статус
В этой теме нельзя размещать новые ответы.

Jaarg

Гуру форума
Регистрация
18 Авг 2008
Сообщения
494
Реакции
97
если в шабе вставить
PHP:
<?php the_category(', ') ?>
то текущая категория выводится, но она выводится, как активная ссылка. а мне нужно, что бы выводилось просто название категории.
как это можно реализовать?
 
Единственный вариант (во всяком случае я вижу только такую альтернативу) это шаманить с самим движком...

файл
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->parent, true, $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->parent, false, $separator );
					$thelist .= $category->name.'</li>';
					break;
				case '':
				default:
					$thelist .= $category->cat_name.'</li>';
			}
		}
		$thelist .= '</ul>';
	} else {
		$i = 0;
		foreach ( $categories as $category ) {
			if ( 0 < $i )
				$thelist .= $separator . ' ';
			switch ( strtolower( $parents ) ) {
				case 'multiple':
					if ( $category->parent )
						$thelist .= get_category_parents( $category->parent, true, $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->parent, false, $separator );
					$thelist .= "$category->cat_name</a>";
					break;
				case '':
				default:
					$thelist .= $category->name;
			}
			++$i;
		}
	}
	return apply_filters( 'the_category', $thelist, $separator, $parents );
}

Честно говоря там надо код почистить, лишнее выкинуть и т.д....
Но смысл понятен.. думаю...

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

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

PHP:
<p><?php single_cat_title('Currently browsing '); ?>.</p>
у меня выводит только точку. может это у меня что то с вп?

Добавлено через 1 минуту
Единственный вариант (во всяком случае я вижу только такую альтернативу) это шаманить с самим движком...
файл
wp-includes/category-template.php
там 2 функции
function the_category - вызывает get_the_category_list
function get_the_category_list
Короче добавляешь в начало файла копии этих вункций и немного их видоизменяешь(и названия ессно тоже). Например так:

Честно говоря там надо код почистить, лишнее выкинуть и т.д....
Но смысл понятен.. думаю...
И в шаблоне соответственно вызываешь уже свою функцию the_category_2(', ');
Как то так... Тупо конечно, но работать будет... В приведённом коде возможны ошибки, просто на скорую руку копировал и удалял... Посмотри оригинал...

смысл понятен, но оно будет без активной ссылки или с ней?
 
Если теги <а и бла бла бла уберёшь то будет без них выводить...
Можно конечно щас посидеть и написать нормальную, короткую функцию, но лень честно говоря :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху