limiet op het aantal nieuwsberichten
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)
1
2
3
4
5
6
7
8
9
10
11
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');
?>
* 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)
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
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><</span></button><span id="jqc-pages"></span><button class="jqc-button" id="jqc-next"><span>></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.
<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><</span></button><span id="jqc-pages"></span><button class="jqc-button" id="jqc-next"><span>></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
Zet je codes aub tussen de [code en [/code] tags, en verzin een duidelijke titel, dit is voor iedereen onduidelijk.
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.
Quote:
$count = get_option(PADD_THEME_SLUG . '_featured_cat_limit');
naar dit te veranderen..
Quote:
$count = 9;
Ik hoop dat het werkt..
Groetjes JW
Bedankt voor de tip! Bericht is inmiddels aangepast.
@Jan Willem
Bedankt voor je snelle reactie! Ik heb dit gelijk geprobeerd maar het werkt niet...
Code (php)
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
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; ?>
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
Ook deze aanpassing werkt helaas niet... ik heb jouw code volledig gekopieerd en geplakt maar het aantal berichten op mijn homepage blijft ongewijzigd.
en als je van het getal 8 verander in 3 bijvoorbeeld
Gewijzigd op 13/03/2012 15:18:37 door gerhard l
Is het mogelijk om met ($limit=9) te werken?
Dat het er dan zo uit gaat zien
Code (php)
1
2
3
4
5
6
7
8
9
10
11
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');
?>
* 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');
?>
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
Ik heb in mijn thema geen optie om dat aantal berichten aan te passen (heel vreemd vind ik)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
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');
?>
* 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..
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?
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
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?
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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>';
}
* 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 op 13/03/2012 15:03:01:
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.
Code (php)
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
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; ?>
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?
www.salt-boemel.nl
path = .../wp-content/themes/berylliumous/functions/library.php
website url = path = .../wp-content/themes/berylliumous/functions/library.php
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
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 ;)
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:
Hehe,weet je wat we net hebben gedaan is het limiet ingesteld van je banners naar 9 we zitten verkeerd ;)
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
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
Code (php)
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
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; ?>
<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