abonnement Unibet Coolblue
pi_62230887
Ik ben bezig met een Wordpress website en ik wil graag artikelen van een bepaalde categorie op een aparte page plaatsen (dus niet direct op de homepage). Kan dat met Wordpress en hoe is dit mogelijk? Ik kom niet veel verder met de informatie op de Wordpress forums of uit de help-documentatie. Misschien heeft iemand hier er ervaring mee?

Thanks
Ik weet trouwens niet of ik dit topic in het juiste subforum van DIG geplaatst heb, al leek mij dit de meest logische keuze.
pi_62232561
Ik gebruik zelf dit:
1
2
3
4
<?php if (is_home()) query_posts("cat=-7"); ?>
<?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
        <!-- the loop blablabla  -->


1query_posts("cat=-7");

Hierbij is 7 het id van de categorie in wordpress. En de "-" voor de 7 geeft aan dat deze niet getoond moet worden.

Let wel: wordpress toont ook alle kindcategorien van "7" niet. Het filter is dus recursief.

edit: oh, en dit alles staat dus in mijn index.php van mijn thema.
pi_62232866
en hoe laat ik dan alle artikelen uit een bepaalde categorie op die bepaalde pagina zien en op de homepage dus niet? lijkt mij dat ik meer moet doen dan alleen bovenstaande in de index.php zetten.
pi_62233112
Het bovenstaande zorgt er alleen voor dat de betreffende categorie niet meer op de homepage staat.

Is jouw bepaalde pagina een rubriek/categorie pagina of een "echte" pagina?
pi_62233393
Ik ga even uit van een "echte" pagina, aangezien een rubriek al een categorie weergave is :p

Kopieer in je themes/Thema map het bestand "page.php" naar "page-categorie#.php" (bijvoorbeeld "page-categorie7.php"). Open het bestand "page-categorie7.php" en zet bovenin

1
2
3
4
5
6
<?php
/*
Template Name: pagina met alleen categorie #
*/
?>
<?php get_header(); ?>.........


Verder op staat weer een
1<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
loop. Zet voor deze regel
1
2
<?php query_posts("cat=7"); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
. Dit is de dus het tegengestelde wat in index.php staat.

Open vervolgens de pagina in wordpress beheer, en kies als pagina sjabloon "pagina met alleen categorie #".
pi_62233526
quote:
Op woensdag 8 oktober 2008 15:02 schreef BHR het volgende:
Het bovenstaande zorgt er alleen voor dat de betreffende categorie niet meer op de homepage staat.

Is jouw bepaalde pagina een rubriek/categorie pagina of een "echte" pagina?
in Wordpress is het een 'echte' pagina, via de backend aangemaakt zeg maar
pi_62254511
kick
pi_62263846
Was het niet gelukt met het kopieren van page.php?
pi_62264126
quote:
Op donderdag 9 oktober 2008 16:58 schreef BHR het volgende:
Was het niet gelukt met het kopieren van page.php?
probeer het eens uit te leggen aan mensen die er misschien wat minder verstand van hebben als jij, ik begrijp echt geen moer van wat je bedoelt.
pi_62266987
Oke poging 2

Begin met het opzoeken van het ID van de categorie. Deze vind je door de categorie in beheer te openen, dan staat hij namelijk in de URL verstopt. In dit geval dus "1".


Ga met ftp of whatever je gebruikt naar de map <pad-waar-wordpress-staat>/wp-content/themes/je-thema/ . Hint: alleen slimme mensen maken een backup van een bestand voordat zij deze bewerken .

Bewerk nu het bestand index.php. Zoek in dit bestand de regel:
1
2
<?php if (have_posts()) : ?>
   <?php while (have_posts()) : the_post(); ?>


en voeg direct boven deze regel het volgende toe:
1<?php if (is_home()) query_posts("cat=-1"); ?>

Bewaar het bestand.

Kopieer vervolgens in dezelfde map het bestand met de naam "page.php" naar "mijnpaginasjabloon.php". Bewerk nu het bestand "mijnpaginasjabloon.php". Voeg in op de eerste regel, dus voor <?php get_header():

1
2
3
4
5
<?php
/*
Template Name: Mijn pagina sjabloon
*/
?>


In hetzelfde bestand een paar regels verder staat weer zo'n while (have_posts()) ding. Voeg in boven deze regel:
1<?php query_posts("cat=1"); ?>


Het wordt dus:
1
2
<?php query_posts("cat=1"); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>


Bewaar ook dit bestand.

Ga vervolgens naar wordpress beheer, bewerk de pagina waar alleen categorie 1 op getoond moet worden, en kies onderin bij Paginasjabloon de waarde "Mijn pagina sjabloon" en bewaar de pagina. Tadaaa.

PS. Logischerwijs vervang je het nummer 1 met het nummer dat bij jouw in de url stond.
pi_62268388
quote:
Op donderdag 9 oktober 2008 19:14 schreef BHR het volgende:
Oke poging 2

Begin met het opzoeken van het ID van de categorie. Deze vind je door de categorie in beheer te openen, dan staat hij namelijk in de URL verstopt. In dit geval dus "1".
[ afbeelding ]

Ga met ftp of whatever je gebruikt naar de map <pad-waar-wordpress-staat>/wp-content/themes/je-thema/ . Hint: alleen slimme mensen maken een backup van een bestand voordat zij deze bewerken .

Bewerk nu het bestand index.php. Zoek in dit bestand de regel:
[ code verwijderd ]

en voeg direct boven deze regel het volgende toe:
[ code verwijderd ]

Bewaar het bestand.

Kopieer vervolgens in dezelfde map het bestand met de naam "page.php" naar "mijnpaginasjabloon.php". Bewerk nu het bestand "mijnpaginasjabloon.php". Voeg in op de eerste regel, dus voor <?php get_header():
[ code verwijderd ]



In hetzelfde bestand een paar regels verder staat weer zo'n while (have_posts()) ding. Voeg in boven deze regel:
[ code verwijderd ]

Het wordt dus:
[ code verwijderd ]

Bewaar ook dit bestand.

Ga vervolgens naar wordpress beheer, bewerk de pagina waar alleen categorie 1 op getoond moet worden, en kies onderin bij Paginasjabloon de waarde "Mijn pagina sjabloon" en bewaar de pagina. Tadaaa.

PS. Logischerwijs vervang je het nummer 1 met het nummer dat bij jouw in de url stond.
thanks
moet ff kijken of dat gaat werken, ik gebruik namelijk user-friendly url's
ik neem aan dat dit niet gaat werken als ik van theme switch? of wordt dit ook automatisch meegenomen als ik van theme verander?
pi_62279559
Deze aanpassing zit idd vast aan je thema. Je zult het dus per gebruikt thema moeten aanpassen.

Als het goed is, zijn user-friendly urls geen probleem.

Je zou nog kunnen proberen een wordpress plugin te vinden die dit voor je kan regelen. Ik heb er helaas geen kunnen vinden, dus ik hou mij aanbevolen
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')