Ondersteuning » Code oplossingen gezocht » Subpages tonen middels shortcode

  • Dag allemaal,

    Ik zou graag een lijst met services willen tonen in een pagina.
    Nu heb ik deze services als subpagina’s ingesteld in WordPress.

    Aangezien deze lijst getoond moet worden tussen de tekst, heb ik in mijn themefunction een shortcode gemaakt, die de subpagina weergeeft.

    De bedoeling is, dat de subpagina’s getoond worden met icon (middels plugin), titel en de tekst voor de lees meer.

    Tot zover lukt dit redelijk op twee manieren, die elke een probleem geven:

    Manier #1:

    function productoverview_func(){
    
    		$i = 0;
    		$productHtml = '';
    		$count = 3;
    		global $more;
    		$more = 0;
    		query_posts(array( 'post_type' => 'page',  'post_parent' => 8, 'orderby' => 'menu_order', 'order' => 'ASC' ));
    		if (have_posts()) :
    
    				$productHtml .= '<ul class="products">';
    
    				while (have_posts()) : the_post();
    
    					   if($i % $count == 0)  $item	= 'first' ;else if(($i+1) % $count == 0)  $item	= 'last';
    					   $iconsrc	 = get_post_field('post_icon',get_the_ID(),'display');
    					   $title	 = get_post_field('post_title',get_the_ID(),'display');
    					   $content	 = get_the_content('Read more →',true);
    					   $productHtml 	.= '<li class="grid_4 '.$item.'">
    												<img class="thumb" src="'.$iconsrc.'" alt="'.$title.'" />
    												<h4 class="postTitle">'.$title.'</h4>
    												<div class="post-content">'.$content.'</div>
    											</li>';
                            if($i % $count == 0)  $productHtml	.= '' ;else if(($i+1) % $count == 0)  $productHtml	.= '<div class="clear"></div>';
    						$i++;
    				endwhile;
    				 $productHtml	.= '</ul>';
    		endif;
    
    		return $productHtml;
    
    }

    Deze manier geeft alles correct weer. Echter geeft hij onder de gehele tekst nog een keer de inhoud weer in de opmaak van content.php

    Manier #2

    function productoverview_func2(){
    
    	$mypages = get_pages( array( 'child_of' => 8, 'sort_column' => 'post_date', 'sort_order' => 'ASC' ) );
    
    	$output = '';
    	$i = 0;
    	$productHtml = '';
    	$count = 3;
    	global $more;
    	$more = 0;
    
    	$productHtml .= '<ul class="products">';
    	foreach( $mypages as $page ) {		
    
    		$content = $page->post_content;
    		if ( ! $content ) // Check for empty page
    			continue;
    
    			$content = apply_filters( 'the_content', $content,'more' );
    			$output .= '<h2><a href="'.get_page_link( $page->ID ).'">'.$page->post_title.'</a></h2>
    			<div class="entry">'.$content.'</div>';
    
    				$iconsrc	 = get_post_field('post_icon',$page->ID,'display');
    				$title	 = $page->post_title;
    				$productHtml 	.= '<li class="grid_4 '.$item.'">
    										<img class="thumb" src="'.$iconsrc.'" alt="'.$title.'" />
    										<h4 class="postTitle">'.$title.'</h4>
    										<div class="post-content">'.$content.'</div>
    									</li>';
    				if($i % $count == 0)  $productHtml	.= '' ;else if(($i+1) % $count == 0)  $productHtml	.= '<div class="clear"></div>';
    
    				$i++;
    	}	
    
    	$productHtml	.= '</ul>';
    
    	return $productHtml;
    
    }

    Deze geeft ook alles correct weer, alleen toont hij geen lees meer links.

    Ben benieuwd of jullie een oplossing hebben!

1 reactie aan het bekijken (van in totaal 1)
1 reactie aan het bekijken (van in totaal 1)
  • Het onderwerp ‘Subpages tonen middels shortcode’ is gesloten voor nieuwe reacties.