abonnement Unibet Coolblue
pi_94238275
Hoi,

Ik ben mijn eigen thema aan het maken in html /css / php e.d. voor eigen gebruik. Bij het maken van m'n portfolio pagina loop ik tegen een probleem aan met de Wordpress Loop. Ik heb al vanalles geprobeerd, uitgebreid de codex erop nageslagen, maar kom er niet uit. Mijn PHP kennis is te laag.

Het betreft een Page Template met een eigen loop, die posts uit de categorie werk haalt. Op die pagina staat een slider. In deze slider zal hij de 3 laatste posts moeten tonen. De rest van de posts in de categorie moeten onder de slider komen met een offset van 3 omdat deze al in de slider staan.

Het gaat om deze pagina.

de code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
/*
Template Name: Portfolio
*/
?>
<?php get_header(); ?>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.nivo.slider.pack.js"></script>
<script type="text/javascript">

jQuery(window).load(function() {
    jQuery('#slider').nivoSlider({
        effect:'fade', //Specify sets like: 'fold,fade,sliceDown'
    slices:15,
        animSpeed:500, //Slide transition speed
        pauseTime:5000,
        startSlide:0, //Set starting Slide (0 index)
        directionNav:true, //Next & Prev
        directionNavHide:true, //Only show on hover
        controlNav:true, //1,2,3...
        keyboardNav:true, //Use left & right arrows
        pauseOnHover:true, //Stop animation while hovering
        captionOpacity:0.8, //Universal caption opacity
    });
});
</script>

<body>
    <nav>      
      <?php wp_nav_menu(array('menu' => 'Main Nav Menu')); ?>
      <a href="http://www.twitter.com/Kortschot" target="_blank" class="twitterbird-nav"></a>
    </nav>
    
    <p style="font-size: 16px; text-align:center; padding:10px 0 0 0;">Deze pagina is nog in ontwikkeling</p>
    
    <div id="main-content-werk">
        <div id="slider">
          <?php $my_query = new WP_Query('category_name=werk&posts_per_page=3');
           while (
$my_query->have_posts()) : $my_query->the_post();?>
           <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="<?php echo get_post_meta($post->ID'slider-image'true); ?>" alt="" title="<?php the_title(); ?>" /></a>
           <?php endwhile; ?>
         </div> <!-- END slider -->

         <br clear="all" />
         
        <?php rewind_posts(); ?>
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
          <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>

        <!-- Do stuff... -->
        
        <?php endwhile; endif; ?>
    </div> <!-- end main-content-werk -->

    <?php get_footer(); ?>

Kan iemand mij de juiste kant op sturen... ik zit hier al zo lang me te prutsen.....

Thanks
Paul
pi_94238548
Loop 1:
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID;?>

In de ander:
<?php if (have_posts()) : while (have_posts()) : the_post();
if( $post->ID == $do_not_duplicate ) continue; ?>

Kleine uitleg: Wat je eigenlijk zegt in de eerste loop, is dat hij de ID's van de post moet opslaan, en in de 2e loop zeg je dat hij alleen als het ID niet gelijk is aan $do_not_duplicate moet door gaan met het script. Ik ben geen master in Wordpress/PHP maar dat is wat ik begrijp.

Staat oa. hier: http://codex.wordpress.org/The_Loop (even zoeken op duplicate).

[ Bericht 12% gewijzigd door #ANONIEM op 17-03-2011 14:40:22 (aanvulling) ]
pi_94240805
Jow Thanks...

Ik ga er mee aan de gang. Ik ben zelf ook geen php master...was het maar zo'n feest. =)

Ik laat het weten.
pi_94241888
hmm..

Ik zag in mijn page snippets (history) dat ik dit ook al onder handen heb gehad.

Hij blijft de permalink van de pagina posten ipv de resterende posts in de categorie.

Ik heb ook maar ff een thread op wordpress forum gezet.
pi_94242475
Nouja, ik heb het werkend op deze manier, dus dan moet het jou vast ook lukken ;-). Succes!
pi_94246464
zo werkt hij:

http://www.tekortschot.nl/werk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
/*
Template Name: Portfolio
*/
?>
<?php get_header(); ?>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.nivo.slider.pack.js"></script>
<script type="text/javascript">

jQuery(window).load(function() {
    jQuery('#slider').nivoSlider({
        effect:'fade', //Specify sets like: 'fold,fade,sliceDown'
    slices:15,
        animSpeed:500, //Slide transition speed
        pauseTime:5000,
        startSlide:0, //Set starting Slide (0 index)
        directionNav:true, //Next & Prev
        directionNavHide:true, //Only show on hover
        controlNav:true, //1,2,3...
        keyboardNav:true, //Use left & right arrows
        pauseOnHover:true, //Stop animation while hovering
        captionOpacity:0.8, //Universal caption opacity
    });
});
</script>
<body>
    <nav>
      <?php wp_nav_menu(array('menu' => 'Main Nav Menu')); ?>
      <a href="http://www.twitter.com/Kortschot" target="_blank" class="twitterbird-nav"></a>
    </nav>
    <p style="font-size: 16px; text-align:center; padding:10px 0 0 0;">Deze pagina is nog in ontwikkeling</p>
    <div id="main-content-werk">
        <div id="slider">
          <?php $do_not_duplicate = array();
          
$my_query = new WP_Query('category_name=werk&posts_per_page=3');
           while (
$my_query->have_posts()) : $my_query->the_post();
           
$do_not_duplicate[] = $post->ID;?>
           <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="<?php echo get_post_meta($post->ID'slider-image'true); ?>" alt="" title="<?php the_title(); ?>" /></a>
           <?php endwhile; ?>
         </div> <!-- END slider -->
         <br clear="all" />
        <?php $args = array(
        
'category_name' => 'werk',
        
'post__not_in' => $do_not_duplicate,
        
'paged' => get_query_var('paged')
        );
        
$my_query = new WP_Query$args );
           while (
$my_query->have_posts()) : $my_query->the_post(); ?>
          <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
        <?php endwhile; wp_reset_query(); ?>
    </div> <!-- end main-content-werk -->

  <?php get_footer(); ?>
pi_94246471
nog bedankt
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')