Wordpress — prispevki na prvi strani
5 naročnikov
5 naročnikov
Ali obstaja za Wordpress plug-in, ki omogoča izbiro, ali se prispevek prikaže na prvi strani ali ne? Potreboval bi, ker za nekatere prispevke ne želim, da se prikazujejo na prvi strani.
P.S. Vem, da se da nardit statično prvo stran, ampak to ni to kar želim.
13 odgovorov
marin: Sem razmišljal tudi o tem, vendar sem se med kodo malo izgubil (razmišljal sem o tem, da bi dodal dodaten parameter k wp_posts (če si imel to v mislih)). Je pa nastal problem, ker če se ne motim je celo tako narejeno, da se za prispevke na prvi strani izbere 'isti' SQL, kot tisti pri posameznem prispevku, zato bi potem imel kasneje probleme pri prikazu posameznega (ker bi prispevek lahko vseboval parameter za 'prikritje').
Na Potopisniku sem naredil to s pomočjo plugina "get a post". To mam za ta dva zgornja posta, ki imata večje thumbnaile.
Pol pa sem spodaj spisal nekaj čisto enostavne kode, tako da se ne prikazujeta zadnja dva posta (ker sta itak že zgoraj) in posti iz določenih kategorij.
Ne vem pa če je to ravno to kar ti iščeš. Če ja, mi pošlji na ZS email, pa ti lahko pošljem to kodo, da pogledaš če je kaj uporabnega zate.
lp
Za spodaj (prikaz Najnovejših objav na blogih) si spisal svojo kodo? To mi načeloma ne bi smelo predstavljati težav. Bolj sem misli, če bi v SQL od Wordpressa, ki je namenjen prikazu prispevkov na prvi strani vriniti še tisti pogoj.
Ne, ne blogi, tisto je rss. V levi koloni. To se verjetno tudi da, ampak glede na to, da ne poznam nic SQLa, mi je bilo lažje napisat dve vrstici kode :)
Recimo tiste prispevke za katere ne želiš, da so na prvi strani, jim daš en custom field in napišeš en if stavek na prvi strani.
No prvo mores instalirat Get-a-post plugin : http://guff.szub.net/2005/01/27/get-a-post/
Potem lahko določiš različne stvari, če vleče samo poste al tudi page-e, koliko...
Pol pa sem na prvi strani tole dal:
<?php
$key="sticky";
$b=1;
$c=2;
$postslist = get_posts('post_type&numberposts=20');
foreach ($postslist as $post) :
setup_postdata($post);
$a=get_post_meta($post->ID, $key, true);
if (!in_category('5') AND $a!=$b AND $a!=$c ) { ?>
<div class="posti">
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<?php if( get_post_meta($post->ID, "Thumbnail2", true) ): ?>
<img style="float:left;margin:5px 7px 5px 5px;" src="<?php echo get_post_meta($post->ID, "Thumbnail2", true); ?>" alt="potopisnik" />
<?php else: ?>
<img style="float:left;margin:5px 7px 5px 5px" src="http://www.potopisnik.si/fotke/logo.gif" alt="potopisnik" />
<?php endif; ?>
<?php the_content_limit(150,''); ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark">Več →</a></p>
</div>
<?php }
else {
if ($a==1) {
$b=5;
}
if ($a==2) {
$c=5;
}
}
endforeach; ?>
Tukaj je še nekaj balasta s thumbnaili in tem zamikom, tako da je osnova pomoje tole:
<?php
$key="sticky";
$b=1;
$postslist = get_posts('post_type&numberposts=20');
foreach ($postslist as $post) :
setup_postdata($post);
$a=get_post_meta($post->ID, $key, true);
if ($a!=$b ) { ?>
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<?php the_content_limit(150,''); ?>
<p><a href="<?php the_permalink() ?>">Več →</a></p>
<?php }
endforeach; ?>
sticky je ta parameter v custom fields. Tistim postom ki ne želiš prikazat, daš vrednost $b.
Pa še parametre v get_posts si sam pač določiš, jih najdeš na pluginovi strani. Recimo tej zgoraj pomenijo, da prikazuje tako page-e kot poste, skupaj 20.