WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Visa kategori WP (https://www.wn.se/forum/showthread.php?t=1046746)

grizz 2011-02-24 12:02

Visa kategori WP
 
Har ett litet problem här. Där det står VISA KATEGORI!! vill jag visa kategorin inlägget är postat i. Vad ska jag göra för att visa kategorin där?

PHP-kod:

/**
 * Helper function to display headers for certain tapestries.
 * @since 1.4.3
 */
function arras_generic_postheader($tapestry$show_meta false) {
    global 
$post;
    
    
$postheader '<div class="entry-thumbnails">';
    
$postheader .= '<a class="entry-thumbnails-link" href="' get_permalink() . '">';
    
$postheader .= arras_get_thumbnail($tapestry '-thumb');
    
    if (
$show_meta) {    
        
$postheader .= '<span class="entry-meta"><span class="entry-comments">' get_comments_number() . '</span>';
        
$postheader .= 'VISA KATEGORI!</span>';
    }
    
    
$postheader .= '</a>';

    
$postheader .= '</div>';
    
    
$postheader .= '<h3 class="entry-title"><a href="' get_permalink() . '" rel="bookmark">' get_the_title() . '</a></h3>';
    
    return 
$postheader;



akelagercrantz 2011-02-24 12:10

Två relevanta funktioner i wp codex:

http://codex.wordpress.org/Function_...e/the_category
http://codex.wordpress.org/Function_...t_the_category

grizz 2011-02-24 12:20

Får det inte att funka,., gör fel men vet inte vad...

akelagercrantz 2011-02-24 12:59

PHP-kod:

$postheader .= '<span>' get_the_category_list', ' ) . '</span>'

kanske?

Men då får du iofs en lista med länkar, innuti en annan länk. Om du bara vill ha en lista med kategorier utan länkar får du använda get_the_category() och skriva ut listan själv.

grizz 2011-02-24 13:37

Citat:

Ursprungligen postat av akelagercrantz (Inlägg 20394457)
PHP-kod:

$postheader .= '<span>' get_the_category_list', ' ) . '</span>'

kanske?

Men då får du iofs en lista med länkar, innuti en annan länk. Om du bara vill ha en lista med kategorier utan länkar får du använda get_the_category() och skriva ut listan själv.


Nu står det ARRAY istället för kategoriens namn. Men den är på rätt position osv..

Kimpo 2011-02-24 14:27

loopa igenom arrayen och plocka ut namnet eller länken på varje kategori eller hur du nu vill visa den, en post alltid finnas i flera kategorier så du får alltid en array när du vill hämta kategorin/kategorierna för aktuella posten.

Kekke 2011-02-24 15:01

På något sätt måste du veta vilket ID eller något annat som kategorin du vill skriva ut har.
När du får reda på hur du hämtar det, borde du kunna köra något i denna stil:

PHP-kod:

foreach((get_the_category()) as $category) { 
    if(
$category->cat_ID == $DITT_ID) {
        echo 
'<img src="http://example.com/images/' $category->cat_ID '.jpg" alt="' .        $category->cat_name '" />'
    }



grizz 2011-02-25 12:00

Fattar inte riktigt..

akelagercrantz 2011-02-25 13:18

Använder sig av en anonym funktion, kräver php 5.3.

PHP-kod:

if ($show_meta) {    
  
$postheader .= '<span class="entry-meta">';
  
$postheader .= '<span class="entry-comments">' get_comments_number() . '</span>';
  
  
$postheader .= join', 'array_map( function ( $category ) { 
    return 
$category->cat_name;
  } , 
get_the_category$post->ID ) ) );
  
  
$postheader .= '</span>';


Om du inte har php 5.3:
PHP-kod:

if ($show_meta) {    
  
$postheader .= '<span class="entry-meta">';
  
$postheader .= '<span class="entry-comments">' get_comments_number() . '</span>';
  
  
$categories = array();
  foreach ( 
get_the_category$post->ID ) as $category ) {
    
$categories[] = $category->cat_name;
  }
  
$postheader .= join', '$categories );
  
  
$postheader .= '</span>';




Alla tider är GMT +2. Klockan är nu 01:11.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson