2013-11-18 3 views
0

Я уверен, что это основной вопрос, но я пытался использовать всевозможные решения, и ничего не работает.Получить ссылку текущей категории

У меня есть одна страница сообщения Wordpress, и я просто хочу сделать ссылку на эту должность. Тем не менее, я не могу найти способ получить ссылку на эту категорию. Идеи?

Edit:

Это было решение, которое, казалось, что это должно работать:

<?php 
$category = get_the_category(); 
$category_id = $category->cat_ID; 
?> 

<a class="button" href="<?php get_category_link($category_id); ?>">&larr; Back to Portfolio</a> 
+0

Покажите нам некоторые решения, которые вы уже пробовали. – maiorano84

+0

См. Edit in post – user2990421

ответ

0

Посмотрите на ссылку get_the_category().

global $post; 
$category = get_the_category($post->ID); 
if($category){ 
    echo '<a href="'.get_category_link($category->term_id).'">'.$category->cat_name.'</a>'; 
} 
+0

Как использовать это в контексте кода в моем исходном сообщении? – user2990421

1

get_ * функции являются функциями возврата. Они ничего не печатают. Учитывая Ваш пример кода, все, что вам нужно нужно это эхо заявление:

<?php 
global $post; 
$category = reset(get_the_category($post->ID)); 
$category_id = $category->cat_ID; 
?> 

<a class="button" href="<?php echo get_category_link($category_id); ?>">&larr; Back to Portfolio</a> 

АЛЬТЕРНАТИВА: Лучший способ сделать это будет держать все в цикле для повторного использования в одиночных или архивных представлений, в сочетании с использование wp_get_post_categories. Это проверялось, но это должно вам начать с методом общего пользования листинга категории, связанную с данной должностью или набором сообщений:

<?php 
if(have_posts()) : while(have_posts()) : the_post(); 
    $cats = wp_get_post_categories($post->ID); 
    if($cats) : foreach($cats as $cat) : $category = get_category($cat); 
    ?> 
    <a class="button" href="<?php echo get_category_link($category->cat_ID); ?>">&larr; <?php echo $category->name ?></a> 
    <?php 
    endforeach;endif; 
endwhile;endif; 
?> 
+0

Имеют смысл, но все же не работают по какой-то причине. На отображаемой странице есть пустой href. – user2990421

+0

@ user2990421 См. Отредактированный код. Поскольку вы, вероятно, пытаетесь получить категорию вне Loop, и поскольку 'get_the_category' возвращает массив категорий, я скорректировал соответственно, чтобы отобразить ссылку первой категории, связанной с текущей Почтой. Единственное условие заключается в том, что это может работать только в том случае, если в POST (не в архиве категорий), который вы просматриваете в данный момент, есть по крайней мере одна связанная с ним категория. – maiorano84

+0

не работал, к сожалению. Первый вариант дал мне тот же пустой href, внутри цикла один заглушил страницу. Начав думать, что может быть что-то с другими частями файлов wordpress, хотя я не знаю, что это будет. – user2990421

Смежные вопросы