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
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!

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.