Ondersteuning » Code oplossingen gezocht » Links template met gecategoriseerde kolommen

  • Ik heb het nergens kunnen vinden, maar ik wilde een pagina met de ‘blogroll’ en andere categorieën onder elkaar, met de betreffende links (bookmarks) naast elkaar verspreid over meerdere kolommen. Om lange rijen onder elkaar te voorkomen. Dus:

    Titel

    Categorie 1
    LinkCat1 LinkCat1 LinkCat1
    LinkCat1 LinkCat1 LinkCat1, etc.

    Categorie 2
    LinkCat2 LinkCat2 LinkCat2, etc.

    Ik heb het zelf met hier en daar gevonden code in elkaar geknutseld, en in een tabel gezet. Je moet het nog wel zelf stylen.

    <?php
    /*
    Template Name: Links Page
    */
    ?>
    <?php get_header(); ?>
    
    <div id="content">
    	<h2><?php the_title(); ?></h2>
    	<div class="entry">
    
    <table width="100%" align="left" border="0" cellspacing="0" cellpadding="0">
    
    <?php
    $showlinks = '';
    $cols = 3; // verander hier het aantal kolommen dat je wilt
    $taxonomy = 'link_category';
    $args ='';
    $terms = get_terms( $taxonomy, $args );
    if ($terms) {
    	foreach($terms as $term) {
    		if ($term->count > 0) {
    			$bookmarks = get_bookmarks( array(
    							'orderby'        => 'name',
    							'order'          => 'ASC',
    							'category_name' => $term->name) );
    			$showlinks .= '<tr><td colspan="' . $cols . '"><h4>' . $term->name . '</h4></td></tr>' . "\n";
    
    			$i = 0; // zet de teller op nul
    				$showlinks .= '<tr>' . "\n";
    			// loop door de gevonden links
    			foreach ($bookmarks as $bm) {
    				$i++; // begin te tellen
    				$showlinks .= '<td width="33%">';
    			 	$showlinks .= sprintf( '<a class="relatedlink" href="%s">%s</a><br />', $bm->link_url, __($bm->link_name) );
    				$showlinks .= '</td>' . "\n";
    
    				// als de teller deelbaar is met het aantal kolommen, sluit de rij
    				if ( ( $i % $cols ) == 0 ) {
    					$showlinks .= '</tr>' . "\n";
    					$showlinks .= '<tr>' . "\n";
    				}
    			}
    			$showlinks .= '</tr>' . "\n"; // sluit laatste rij met kolommen
    // voeg eventueel witruimte toe tussen de categorieën
    			$showlinks .= '<tr><td colspan="3"> </td></tr>' . "\n";
    		}
     	}
    }
    echo $showlinks;
    ?>
    
    </table>
    	</div>
    </div>
    <?php get_sidebar("page"); ?>
    <?php get_footer(); ?>

    De args van get_terms en get_bookmarks kun je natuurlijk naar eigen wens aanpassen.

  • Het onderwerp ‘Links template met gecategoriseerde kolommen’ is gesloten voor nieuwe reacties.