Ondersteuning » Code oplossingen gezocht » Sticky posts laten gedragen als normale posts

  • Opgelost breathe-out

    (@breathe-out)


    Ik gebruik momenteel een thema (skylark), welke een leuke content slider heeft, nadeel is wel om posts in te laden ze sticky moeten zijn. Op mijn blog wil ik dat deze posts gewoon op chronologische volgorde worden weergegeven (nieuw naar oud). Dus eigenlijk dat een sticky posts zich gedraagt als een normale posts. Mijn php skills zijn minimaal, een beetje knippen en plakken is ongeveer hoever ik kom. Wat ik er tot zover van kon maken is dat de index.php van het thema aan moet worden gepast hiervoor, als dit niet correct is hoor ik het graag.

    Dit is de onaangepaste index.php file van het skylark thema

    <?php
    /**
     * The main template file.
     *
     * This is the most generic template file in a WordPress theme
     * and one of the two required files for a theme (the other being style.css).
     * It is used to display a page when nothing more specific matches a query.
     * E.g., it puts together the home page when no home.php file exists.
     * Learn more: http://codex.wordpress.org/Template_Hierarchy
     *
     * @package Skylark
     * @since Skylark 1.6
     */
    		$latest_sticky_id = array();
    
    get_header(); ?>
    
    		<div id="primary" class="site-content">
    			<div id="content" role="main">
    
    			<?php if ( have_posts() ) : ?>
    
    				<?php /* Start the Loop */ ?>
    				<?php while ( have_posts() ) : the_post(); ?>
    
    					<?php
    						/* Include the Post-Format-specific template for the content.
    						 * If you want to overload this in a child theme then include a file
    						 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
    						 */
    						get_template_part( 'content', get_post_format() );
    					?>
    
    				<?php endwhile; ?>
    
    				<?php skylark_content_nav( 'nav-below' ); ?>
    
    			<?php elseif ( current_user_can( 'edit_posts' ) ) : ?>
    
    				<?php get_template_part( 'no-results', 'index' ); ?>
    
    			<?php endif; ?>
    
    			</div><!-- #content -->
    		</div><!-- #primary .site-content -->
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    Iemand gaf hier een oplossing voor het probleem (stuk code) echter faal ik bij het implementeren.

    Hieronder de code die volgens de topicstarter van het hiervoor genoemde topic zou moeten werken:

    <?php
    $i = 1;
    if ( !empty($_GET['sort']) ) {
      $orderby = trim($_GET['sort']);
      $order = trim($_GET['order']);
      $key = trim($_GET['key']);
    }
      query_posts($query_string . '&caller_get_posts=1&orderby=' . $orderby . '&meta_key=' . $key . '&order=' . $order);
    
    if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <?php
      if ( $i % 2 == 0 ) { $alt = " class=\"alt\""; } else { $alt = " class=\"no\""; }
      echo "<div" . $alt;
      if ( is_sticky() ) { echo " id='sticky' "; } echo ">";
    ?>
    
      <?php the_title(); ?>
    
    <?php endwhile; endif;
      wp_reset_query();
    ?>

    Ik heb geprobeerd de bovenstaande code over dit deel van de orginele code te plakken
    <?php if ( have_posts() ) : ?>
    Zonder succes toen kreeg ik de foutmelding -> error about unexpected endwhile. Daarna heb als ik het me goed herinner de onderste endwhile verwijderd waarop alleen nog maar de sticky post werd geladen en geen andere posts.

    Ik heb daarna nog een beetje lopen slopen, zonder resultaat. Ik ben nu bijna klaar met m’n blog dus hoop dat iemand me hiermee verder kan helpen.

    Alvast super bedankt!

1 reactie aan het bekijken (van in totaal 1)
1 reactie aan het bekijken (van in totaal 1)
  • Het onderwerp ‘Sticky posts laten gedragen als normale posts’ is gesloten voor nieuwe reacties.