Kjapp og trygg hosting for Wordpress

A til Z liste med poster plugin?

clinton4

Medlem
Hei,

Er det noen som kjenner til en plugin som lar meg liste alle poster fra en gitt kategori alfabetisk? Jeg skal bruke den til å lage et innholdsregister i en side for alle poster i en angitt kategori.
 

TorsteinO

Art Director & grunder
Trenger ikke noen plugin for det da, noe sånt som dette skulle ordne biffen

PHP:
<?php 
wp_reset_query();
query_posts( 'category_name=kategorinavn&order=ASC&posts_per_page=-1'); ?> 
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<p><a href="<?php the_permalink();?>"><?php the_title();></a></p>
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

NB: Der det står "kategorinavn", så skal det være den søkemotorvennlige varianten av kategorinavnet, altså slug'en.
 
Sist redigert:

clinton4

Medlem
Takk for den, men jeg kunne tenke meg noe som ga et litt mere "grafisk" output.

Noe slikt:

Alle A B C D E F G H I J....

- Dette er en post som begynner på D.
- Dette er også en post som begyner på D.
- Osv....

Har søkt gjennom plugin katalogen til WP, men finner ikke noe som virker med nyeste versjon av WP.
 

TorsteinO

Art Director & grunder
hmmm... Ok, å gjøre det mer fancy er jo enkelt, men å få til den sorteringa "per bokstav" er jeg ikke sikker på på rappen.

Her er noe som er gammelt, men som ser lovende ut, selv om det sikkert må tilpasses litt: WordPress › Support » Quick way to do alphabetical category archive?

evt kan du jo ta turen innom WP Questions, så får du sikkert noen til å ordne det for noen dollar (jeg har brukt det endel, og det funker fint) :)
 

clinton4

Medlem
Takk, fikk løst det med litt endringer i koden fra din første post. Skal legge ut koden her når jeg har fått ryddet litt i den.
 

clinton4

Medlem
Har som sagt ikke ryddet i den, men her er den:

PHP:
<?php 

echo '<div style="width: 98%; padding-bottom: 30px; border: #000000 solid 0px;">';
$chars = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','Æ','Ø','Å');
foreach($chars as $char){

	echo "<b><a href='#$char'>$char</a></b>&nbsp;&nbsp;";
}
echo '</div>';

query_posts( array( 'category' => array(3,4), 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC' ) ); 

// Teller antall poster
$antall_poster = $wp_query->post_count; 

// Deler antall poster på 2 og runder av til nærmeste hele tall (slik at vi vet når vi skal splitte div'en).
$splitt_etter = round($antall_poster / 2); 

// Teller
$i = 0; 

// Skriver ut starten på den første div'en.
echo "<div class='innholdsregister_1'><!-- #Div columns -->";

// Starter loopen.
if ( have_posts() ) : while ( have_posts() ) : the_post();
	
	// Sjekker hvilken bokstav gjeldene post begynner med.
	$bokstav = mb_substr(get_the_title(), 0, 1, 'UTF-8');
	
	// Skriver ut gjeldene bokstav.
	if($bokstav != $forrige_bokstav){ 
		
		// Slutter av den første div'en og starter den andre div'en. 
		// Men bare hvis vi har en ny bokstav og telleren er mer enn $splitt_etter.
		if($i > $splitt_etter and $splittet == FALSE){ 
			echo "</div><div class='innholdsregister_2'>";
			$splittet = TRUE; // Vi trenger bare en splitt, så da setter vi denne så ikke if'en kjøres igjen.
		}

		// Skriver ut gjeldene bokstav. F.eks A, B, C....
		echo "<b><u>$bokstav</u></b><a id='$bokstav' name='$bokstav'></a>"; 
		$forrige_bokstav = $bokstav; // Vi trenger ikke samme bokstav over hver post!
	}
	
	// +1 på teller
	$i++;
	
	?>

	<p><a href="<?php the_permalink();?>"><?php the_title(); ?></a></p> 

<?php endwhile; else: ?> 

	<p><?php _e('Sorry, no posts matched your criteria.'); ?></p> 

<?php endif; ?>
 
Topp