limiet op het aantal nieuwsberichten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

John van den Oudenhoven

John van den Oudenhoven

13/03/2012 14:45:03
Quote Anchor link
Hallo,

Ik ben een beginnende php gebruiker en ik ben webmaster van een wieler vereniging.
Nu heb ik met wordpress een site gemaakt en ik heb een thema geinstalleerd en aangepast. Dit was allemaal geen probleem omdat mijn kennis van HTML hier genoeg voor was. De site is inmiddels in gebruik maar nu loop ik tegen een probleempje aan.
Op de homepage van onze site ( www.salt-boemel.nl ) staat een overzicht van de nieuwsberichten die geplaatst zijn. Nu wil ik een limiet instellen voor het aantal getoonde berichten, bijvoorbeeld 9 berichten. Ik ben al een aantal dagen bezig met het proberen om dit voor elkaar te krijgen maar het lukt mij gewoonweg niet.
Graag zou ik dus hulp krijgen... Dit is de code die ik gevonden heb:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
/**
 * Renders the featured posts in home page.
 */
function padd_theme_featured_posts($exclude=array()) {
    wp_reset_query();    
    $featured = get_option(PADD_THEME_SLUG . '_featured_cat_id','1');
    $count = get_option(PADD_THEME_SLUG . '_featured_cat_limit');
    query_posts('showposts=' . $count . '&cat=' . $featured);
    $padd_image_def = get_template_directory_uri() . '/images/thumbnail-gallery.jpg';
    add_filter('excerpt_length', 'padd_theme_excerpt_featured_length');
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<div id="jquery-cycle">
    <div id="jquery-cycle-list">
    <?php while (have_posts()) : the_post(); ?>
        <div class="item">
            <a class="image" href="<?php the_permalink(); ?>" title="Permanent Link to <?php the_title_attribute(); ?>">
            <?php
                $exclude
[] = get_the_ID();
                if (has_post_thumbnail()) {
                    the_post_thumbnail('gallery');
                }
else {
                    echo '<img class="thumbnail" src="' . $padd_image_def . '" />';
                }

            ?>

            </a>
            <div class="meta">
                <h3><a href="<?php the_permalink(); ?>" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
                <?php the_excerpt(); ?>
                <div class="clear"></div>
            </div>
        </div>
    <?php endwhile; ?>
    </div>
</div>
<div id="jquery-cycle-controller">
    <button class="jqc-button" id="jqc-prev"><span>&lt;</span></button><span id="jqc-pages"></span><button class="jqc-button" id="jqc-next"><span>&gt;</span></button>
</div>
<?php
    wp_reset_query();
    remove_filter('excerpt_length', 'padd_theme_excerpt_featured_length');
    return $exclude;
}



Ik heb geprobeerd om bij de regel

query_posts('showposts=' . $count . '&cat=' . $featured);

een getal toe te voegen op deze manier

query_posts('showposts=9' . $count . '&cat=' . $featured);

maar dat werkt niet.
Gewijzigd op 13/03/2012 14:53:55 door John van den Oudenhoven
 
PHP hulp

PHP hulp

22/11/2024 20:25:34
 
Gerhard l

gerhard l

13/03/2012 14:47:23
Quote Anchor link
Zet je codes aub tussen de [code en [/code] tags, en verzin een duidelijke titel, dit is voor iedereen onduidelijk.
 
John van den Oudenhoven

John van den Oudenhoven

13/03/2012 14:48:22
Quote Anchor link
Ik snap niet waarom het bericht er zo raar uit ziet, als men de code goed wil ontvangen kan ik dat met een persoonlijk berichtje doen of via email.
 
Jan Willem R

Jan Willem R

13/03/2012 14:51:40
Quote Anchor link
Volgens mij is het zo simpel om dit
Quote:
$count = get_option(PADD_THEME_SLUG . '_featured_cat_limit');


naar dit te veranderen..
Quote:
$count = 9;


Ik hoop dat het werkt..

Groetjes JW
 
John van den Oudenhoven

John van den Oudenhoven

13/03/2012 14:59:49
Quote Anchor link
@ gerhard
Bedankt voor de tip! Bericht is inmiddels aangepast.

@Jan Willem
Bedankt voor je snelle reactie! Ik heb dit gelijk geprobeerd maar het werkt niet...
 
Jan Willem R

Jan Willem R

13/03/2012 15:03:01
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php $countingpost = 0;
while (have_posts()) : the_post();
if($countingpost <= 8){
?>


        <div class="item">
            <a class="image" href="<?php the_permalink(); ?>" title="Permanent Link to <?php the_title_attribute(); ?>">
            <?php
                $exclude
[] = get_the_ID();
                if (has_post_thumbnail()) {
                    the_post_thumbnail('gallery');
                }
else {
                    echo '<img class="thumbnail" src="' . $padd_image_def . '" />';
                }

            ?>

            </a>
            <div class="meta">
                <h3><a href="<?php the_permalink(); ?>" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
                <?php the_excerpt(); ?>
                <div class="clear"></div>
            </div>
        </div>
    <?php }
$countingpost++;

endwhile;
?>


Dit is niet een oplossing waar je trots op moet zijn maar wel een die werkt. en snel verzonnen is... ik zal nog even verder verdiepen.
Gewijzigd op 13/03/2012 15:04:13 door Jan Willem R
 
John van den Oudenhoven

John van den Oudenhoven

13/03/2012 15:13:37
Quote Anchor link
@Jan Willem
Ook deze aanpassing werkt helaas niet... ik heb jouw code volledig gekopieerd en geplakt maar het aantal berichten op mijn homepage blijft ongewijzigd.
 
Jan Willem R

Jan Willem R

13/03/2012 15:16:12
Quote Anchor link
en als je van het getal 8 verander in 3 bijvoorbeeld
 
Gerhard l

gerhard l

13/03/2012 15:17:14
Quote Anchor link
Maar als het goed is moet je dan ook kunnen aanpassen in wordpress zelf.
Gewijzigd op 13/03/2012 15:18:37 door gerhard l
 
John van den Oudenhoven

John van den Oudenhoven

13/03/2012 15:21:33
Quote Anchor link
werkt ook niet, ik heb de cache van mijn browser verwijderd en de pagina meerdere malen vernieuwd maar geen verandering.

Is het mogelijk om met ($limit=9) te werken?

Dat het er dan zo uit gaat zien
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
/**
 * Renders the featured posts in home page.
 */
function padd_theme_featured_posts($limit=9)($exclude=array()) {
    wp_reset_query();    
    $featured = get_option(PADD_THEME_SLUG . '_featured_cat_id','1');
    $count = get_option(PADD_THEME_SLUG . '_featured_cat_limit');
    query_posts('showposts=' . $count . '&cat=' . $featured);
    $padd_image_def = get_template_directory_uri() . '/images/thumbnail-gallery.jpg';
    add_filter('excerpt_length', 'padd_theme_excerpt_featured_length');
?>

 
Jan Willem R

Jan Willem R

13/03/2012 15:22:11
Quote Anchor link
@Gerhard: Als je dat in een while loop, dan krijg je een loop van 9 voordat hij naar je volgende bericht gaat.. heb je uiteindelijk niks aan.

Of wil je dit veranderen door de while...
Dan heb je er nog niks aan want dan krijg je niet de juiste atributes. als het een array was dan kon je nog de $i als key gebruiken maar ik weet niet hoe Wordpress zijn framework heb neergezet misschien wel row_fetch($i)->name... of iets in die richting
 
John van den Oudenhoven

John van den Oudenhoven

13/03/2012 15:23:31
Quote Anchor link
@gerhard
Ik heb in mijn thema geen optie om dat aantal berichten aan te passen (heel vreemd vind ik)
 
Jan Willem R

Jan Willem R

13/03/2012 15:27:05
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
/**
 * Renders the featured posts in home page.
 */
function padd_theme_featured_posts($exclude=array()) {
    wp_reset_query();    
    $featured = get_option(PADD_THEME_SLUG . '_featured_cat_id','1');
    $count = get_option(PADD_THEME_SLUG . '_featured_cat_limit');
    query_posts('showposts=' . $count . '&cat=' . $featured.'&posts_per_page=5');
    $padd_image_def = get_template_directory_uri() . '/images/thumbnail-gallery.jpg';
    add_filter('excerpt_length', 'padd_theme_excerpt_featured_length');
?>



Probeer dat is eens voor de grap..
 
John van den Oudenhoven

John van den Oudenhoven

13/03/2012 15:37:39
Quote Anchor link
Ook dit werkt niet Jan Willem. Al ik mijn idee met ($limit=9) doe dan krijg ik een parse error, ik heb dus een verkeerde code weet jij hoe ik die code juist moet schrijven?
 
Jan Willem R

Jan Willem R

13/03/2012 15:44:51
Quote Anchor link
Denk niet dat, dat de juiste oplossing is aangezien $limit niet gedefineerd is in die functie.

Maar als je deze link bekijk:
Quote:
For example, on the homepage, you would normally see the latest 10 posts. If you want to show only 5 posts (and don't care about pagination), you can use query_posts() like so:

query_posts( 'posts_per_page=5' );
http://codex.wordpress.org/Function_Reference/query_posts


Dacht ik zo dat dit de oplossing moest zijn.. zit je wel in de goeie script te werken?
 
John van den Oudenhoven

John van den Oudenhoven

13/03/2012 15:54:30
Quote Anchor link
Ik werk in het library.php script van mijn thema Berylliumous van PaddSolutions. Ik weet al dat het niet de makkelijkste thema's zijn om te bewerken...
Alleen in library.php komt ik een verwijzing naar de featured posts van de homepage tegen.

Overigens vind ik in hetzelfde file dit stukje code
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * Renders the list of recent comments.
 *
 * @global object $wpdb
 * @global array $comments
 * @global array $comment
 * @param int $limit
 */
function padd_theme_recent_comments($limit=5) {
    global $wpdb, $comments, $comment;

    if ( !$comments = wp_cache_get( 'recent_comments', 'widget' ) ) {
        $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT $limit");
        wp_cache_add( 'recent_comments', $comments, 'widget' );
    }
    echo '<ul class="comments-recent">';
    if ( $comments ) :
        foreach ( (array) $comments as $comment) :
            echo  '<li class="comments-recent"><span class="wrap">' . sprintf(__('%1$s on %2$s'), get_comment_author_link(), '<a href="'. get_comment_link($comment->comment_ID) . '">' . get_the_title($comment->comment_post_ID) . '</a>') . '</span></li>';
        endforeach;
    endif;
    echo '</ul>';
}


Vandaar dat ik even aan $limit heb gedacht
 
Jan Willem R

Jan Willem R

13/03/2012 16:00:21
Quote Anchor link
Jan Willem R op 13/03/2012 15:03:01:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php $countingpost = 0;
while (have_posts()) : the_post();
if($countingpost <= 8){
?>


        <div class="item">
            <a class="image" href="<?php the_permalink(); ?>" title="Permanent Link to <?php the_title_attribute(); ?>">
            <?php
                $exclude
[] = get_the_ID();
                if (has_post_thumbnail()) {
                    the_post_thumbnail('gallery');
                }
else {
                    echo '<img class="thumbnail" src="' . $padd_image_def . '" />';
                }

            ?>

            </a>
            <div class="meta">
                <h3><a href="<?php the_permalink(); ?>" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
                <?php the_excerpt(); ?>
                <div class="clear"></div>
            </div>
        </div>
    <?php }
$countingpost++;

endwhile;
?>


Dit is niet een oplossing waar je trots op moet zijn maar wel een die werkt. en snel verzonnen is... ik zal nog even verder verdiepen.


Je weet zeker dat dit niet heeft gewerkt want dit zal namelijk gewoon heel de rest van de output moeten blokkeren. Of Wordpress moet iets hebben dat dat blokkeert.. of je zit in een verkeerde bestand van dit te werken..

Wat is je website url.. en wat is je path waar je in zit?
 
John van den Oudenhoven

John van den Oudenhoven

13/03/2012 16:07:20
Quote Anchor link
website url = www.salt-boemel.nl
path = .../wp-content/themes/berylliumous/functions/library.php
 
Jan Willem R

Jan Willem R

13/03/2012 16:09:36
Quote Anchor link
John van den Oudenhoven op 13/03/2012 16:07:20:
website url = www.salt-boemel.nl
path = .../wp-content/themes/berylliumous/functions/library.php


Hehe,weet je wat we net hebben gedaan is het limiet ingesteld van je banners naar 9 we zitten verkeerd ;)
 
John van den Oudenhoven

John van den Oudenhoven

13/03/2012 16:13:07
Quote Anchor link
Al de aanpassingen die ik heb gedaan zijn allemaal in de files van het thema geweest en dat is tot nu toe nog altijd goed gegaan. Ik krijg alleen dit niet voor elkaar.
Ik heb alle files van het thema bekeken en alleen in library.php kom ik de eerder genoemde code tegen. Het kan zijn dat ik in het verkeerde bestand zit te werken maar ik vind nergens anders een verwijzing naar het aantal posts op de homepage.

Ik zal nogmaals je genoemde "oplossing waar je niet trots op moet zijn" proberen...



Toevoeging op 13/03/2012 16:17:06:

Jan Willem R op 13/03/2012 16:09:36:
John van den Oudenhoven op 13/03/2012 16:07:20:
website url = www.salt-boemel.nl
path = .../wp-content/themes/berylliumous/functions/library.php


Hehe,weet je wat we net hebben gedaan is het limiet ingesteld van je banners naar 9 we zitten verkeerd ;)


Oww dat is dan mijn fout. Sorry! Ik heb nu alleen geen enkel idee waar ik wel moet zijn...
Gewijzigd op 13/03/2012 16:16:21 door John van den Oudenhoven
 
Jan Willem R

Jan Willem R

13/03/2012 16:20:40
Quote Anchor link
Heb net even voor het gemak je template gedownload je moet naar ./bery../loop.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php if (!have_posts()) : ?>

<div id="post-0" class="post error404 not-found">
    <h1 class="title">Not Found</h1>
    <div class="entry-content">
        <p>Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.</p>
    </div>
</div>

<?php else : ?>

    <?php
        add_filter('excerpt_length', 'padd_theme_excerpt_index_length');
        $countposts = 0;
    ?>

    <?php while (have_posts()) : ?>
        <?php the_post();
            if($countposts <= 8){
        ?>

        <div id="post-<?php the_ID(); ?>" class="post entry">
            <div class="t"></div>
            <div class="m">
                <div class="thumbnail">
                    <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
                        <?php padd_theme_post_thumbnail(); ?>
                    </a>
                </div>
                <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
                <p class="meta"><span class="date-cat"><?php the_time('F j, Y'); ?></span></p>
                <div class="excerpt">
                    <?php the_excerpt();?>
                </div>
            </div>
            <div class="b clear"></div>
        </div>
    <?php
    }
    $countposts++;
    endwhile;
?>

    <?php remove_filter('excerpt_length', 'padd_theme_excerpt_index_length'); ?>
    <div class="clear"></div>
    <?php
        Padd_PageNavigation::render();
    ?>


<?php endif; ?>


Naar dat veranderen
Gewijzigd op 13/03/2012 16:21:10 door Jan Willem R
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.