[Wordpress] Archives en page templates, beste oplossing

Pagina: 1
Acties:

Onderwerpen


  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 17-09 11:07
Veel Wordpress developers zitten hier denk ik niet, maar toch ... hier maar eens een vraag stellen.

Sommige klanten willen graag een website met (bijv.) nieuws. Prima, dat kan en er word dan een post type voor aangemaakt. Het nieuws bekijken kan dan in /nieuws die word weergegeven in archive-post-type.php

Echter, sommige klanten willen (bijv.) een submenu op een andere pagina, waar ook 'Nieuws' in staat. Dat is lastig, want de submenu's zijn (in dit geval) gewoon een lijst van subpagina's. Daarnaast heb ik vaker last van archieven waar (bijv.) een custom header of tekstje in moet. Gezien een archive geen 'object' is maar een verzameling van objecten, is dat meteen weer vrij lastig.

Nu heb ik het idee dat er eigenlijk nauwelijks gewerkt word, door Wordpress devs, met archive.php (en dergelijke) templates. Volgens mij gebruikt iedereen pagina templates en dat is het dan. Toch vraag ik me een beetje af hoe iedereen dat oplost.

Een Wordpress thema is hier overigens geen verzameling van templates en plugins, maar een op maat gemaakte website.

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 08-09 14:12
Is het een idee om een dynamische sidebar in je template te zetten en die met Smart Blocks te vullen?
Oftewel:
- maak 2 (of meer) smart blocks aan, bijvoorbeeld "Nieuwsarchief" en "Portfolioarchief"
- bij Widgets voeg je beide smart blocks toe aan je sidebar, de ene zet je alleen aan bij je nieuwsarchief, de ander alleen bij je portfolioarchief
- in archive.php roep je dynamic_sidebar aan

Ik hoop dat ik je goed heb begrepen en dat mijn verhaal ook een beetje duidelijk is :)

Full-stack webdeveloper in Groningen


  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 17-09 11:07
Je bedoeld de dynamic sidebar op de plek zetten waar nu de subpagina's staan?

  • Nedra
  • Registratie: Juli 2006
  • Laatst online: 17-10-2023
Ik ben het met je eens dat de uitwerking van custom-post-type archieven verre van ideaal is, met name inzake je tweede punt (het oproepen van bijbehorende text, headers, afbeeldingen, etc).

In een ideale situatie zou elke custom post type, net als taxonomies, custom attributen moeten kunnen krijgen (zoals custom fields, afbeeldingen, omschrijving, subtitel,etc).

Om toch gebruik te kunnen maken van alles wat taxonomies biedt kan je ook een custom-post-type 'nieuws' met daarin een custom taxonomy 'nieuws' maken, en op basis van taxonomy je query doen. Op die manier kan je de omschrijving en alle extra velden die je er evt aanhangt in dezelfde query opvragen. Het werkt wel, maar je moet wel zorgen dat elk nieuw bericht ook automatisch de taxonomy meekrijgt (of je klanten uitleggen dat ze toch echt elke keer 'nieuws' moeten aanvinken bij een nieuw bericht).

Wat ik meestal doe is, afhankelijk van de situatie, een custom post type archief maken en daar op een pagina queryen. Of omgekeerd, een pagina maken en daarop een query voor het custom post type archive. Ook niet helemaal ideaal, maar het vereist in ieder geval geen extra taxonomies.

Wat betreft je eerste vraag, Als ik dat goed begrijp gaat het om de situatie dat je op verschillende pagina's een menu of post-list wilt op basis van een custom post type.

Ik doe dat meestal door:

Een wp query van het custom post type archief. Deze kan je alleen op specifieke pagina's laten zien door middel van: een custom pagina template, een specifiek wp template of conditional statements

Een menu aan te maken met alle items uit het archief. Dit menu kan je dan via je widgets laden, om zo gebruik te kunnen maken van flexibele widgets, etc.

Overigens heeft Advanced custom fields een 'flexible content' add-on. Die heb ik nog niet gebruikt maar ik ga binnenkort even kijken of dat misschien iets is wat uitkomst kan bieden, aangezien ik ACF toch al bijna altijd gebruik.

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 17-09 11:07
Nedra schreef op woensdag 25 september 2013 @ 19:15:
Ik ben het met je eens dat de uitwerking van custom-post-type archieven verre van ideaal is, met name inzake je tweede punt (het oproepen van bijbehorende text, headers, afbeeldingen, etc).

In een ideale situatie zou elke custom post type, net als taxonomies, custom attributen moeten kunnen krijgen (zoals custom fields, afbeeldingen, omschrijving, subtitel,etc).
Klopt, al is dat ergens wel raar. Zoals gezegd, een post type is geen object en daardoor kun je er niks aan koppelen. Je kunt zelf gaan klooien in de database, maar op de Wordpress manier heb je een object ID nodig, en die is er niet.
Om toch gebruik te kunnen maken van alles wat taxonomies biedt kan je ook een custom-post-type 'nieuws' met daarin een custom taxonomy 'nieuws' maken, en op basis van taxonomy je query doen. Op die manier kan je de omschrijving en alle extra velden die je er evt aanhangt in dezelfde query opvragen. Het werkt wel, maar je moet wel zorgen dat elk nieuw bericht ook automatisch de taxonomy meekrijgt (of je klanten uitleggen dat ze toch echt elke keer 'nieuws' moeten aanvinken bij een nieuw bericht).
Klopt, verre van ideaal voor de klant vooral en ik vind het zelf geen nette oplossing. Geloof me, ik heb het wel geprobeerd op een aantal websites. Je zoekt steeds naar de beste oplossing voor problemen en dat verschilt per case.
Wat ik meestal doe is, afhankelijk van de situatie, een custom post type archief maken en daar op een pagina queryen. Of omgekeerd, een pagina maken en daarop een query voor het custom post type archive. Ook niet helemaal ideaal, maar het vereist in ieder geval geen extra taxonomies.
Dat is ook mijn laatste en (tot zover) beste oplossingen. Heb ik een post type 'Recepten', dan maak ik een pagina met dezelfde naam aan en haal met get_page_by_path() de pagina in de archive-recipe.php op.

Met (zoals je zelf ook noemt) Advanced Custom Fields zet ik de extra benodigde velden op de pagina's en vaak ben ik dan al compleet voor ook de archive.
Wat betreft je eerste vraag, Als ik dat goed begrijp gaat het om de situatie dat je op verschillende pagina's een menu of post-list wilt op basis van een custom post type.

Ik doe dat meestal door:

Een wp query van het custom post type archief. Deze kan je alleen op specifieke pagina's laten zien door middel van: een custom pagina template, een specifiek wp template of conditional statements

Een menu aan te maken met alle items uit het archief. Dit menu kan je dan via je widgets laden, om zo gebruik te kunnen maken van flexibele widgets, etc.
Nou, soms zijn er menu's te laten zien die per pagina of per post type anders zijn. Ik probeer zoveel mogelijk dynamisch automatisch te vullen. In het belang van de klant, maar ook voor de uniformiteit. De oplossing die je noemt met widgets is misschien niet zo heel gek, al moet ik dan wel weer widgets per pagina in kunnen stellen.

Widgets gebruiken we hier eigenlijk nooit. Onze klanten krijgen eigenlijk altijd maatwerk en passen hun website minimaal aan. Als ze dan ook nog widgets voor een nieuwe pagina moeten gaan regelen, dat is ze veel te veel geklooi. Gewoon teaser selecteren, we hebben daar vaak meerdere types van, en klaar. Teasers staan als post type netjes in de sidebar en zijn met ACF velden makkelijk aan te passen.
Overigens heeft Advanced custom fields een 'flexible content' add-on. Die heb ik nog niet gebruikt maar ik ga binnenkort even kijken of dat misschien iets is wat uitkomst kan bieden, aangezien ik ACF toch al bijna altijd gebruik.
Die ken ik! We hebben hier de Repeater en Gallery fields extra aangeschaft. 25 Australische dollars is maar (ongeveer) 13 euro, dus dat was de moeite zeker waard. Vooral de Gallery variant is heel makkelijk voor een simpel fotoalbum of iets dergelijks! Aanrader 8)

Bedankt voor je meedenken! ^^ Grappig om te zien dat, vooral het archive probleem, een bekende is! Gewoon een pagina aanmaken waar de aanpasbare gegevens te vinden zijn is dus nog steeds de makkelijkste oplossing zo blijkt.

Wat ik met het menu doe, geen idee! :p Misschien iets van een widget, maar ik denk dat ik met ACF ook een 'custom' menu kan laten instellen. Gewoon met de Repeater velden of iets met Post objecten of relaties. Als er niks ingevuld is, gewoon de subpagina's of standaard menu laten zien.