Gå til innhold

WP: Custom fields, isset?-sjekk i template?


Anbefalte innlegg

Jeg driver og mekker på en side som skal kodes opp rundt WP. Siden er for et teaterlag, og jeg ser behovet for å lage 'templates' for noen av sidene. Det er snakk om sider for aktørene, og for produksjonene teaterlaget har satt opp. Her er det en del felter som går igjen, og en del som varierer. For å ta et eksempel; det er ikke sikkert at feltet 'Sufflør' er med på alle produksjonene.

 

Leste innlegget (one way to use custom fields). Custom fields er disse feltene du kan definere selv nederst i innleggsredigeringen i WP. Her kan jeg, for å gjenbruke eksempelet mitt, lage et custom field med key sufflør (kanskje unngå særnorske tegn, men igjen, det er et eksempel) og verdi Hege Schøyen.

 

Så lager jeg en template og looper gjennom innleggene i en bestemt kategori hvis det er snakk om opplisting, eller en statisk template om det er snakk om detaljvisning. Templaten et innlegg eller en side skal bruke settes inne i side/innleggsredigeringen.

PHP
<?php echo get_post_meta($post->ID"sufflør"true); ?>

 

Problemet, som jeg endelig har kommet til, er at jeg ikke kan spesifisere markup. Gjør jeg sånn som dette...

PHP
<dt>Sufflør:</dt> <dd><?php echo get_post_meta($post->ID"sufflør"true); ?></dd>

...får jeg output enten feltet er satt eller ikke. Dette blir rett og slett for dumt.

 

Kan jeg sjekke om feltet er satt med en enkel if-sjekk, for eksempel?

PHP
if(get_post_meta($post->ID, "sufflør", true) /* == null ? */) {

<dt>Sufflør:</dt> <dd><?php echo get_post_meta($post->ID"sufflør"true); ?></dd>

}

 

Det beste hadde jo vært om Get custom fields fungerte i WP 2.2, men det er dessverre ikke tilfelle.

WPs custom fields er dokumentert her.

 

 

Noen som har noe å bidra med her?

Lenke til kommentar
Videoannonse
Annonse

Dette problemet og mulige løsninger på det før meg til å ville installere WP og teste det hele mye tidligere enn planlagt. Har dog ikke tid, og må vente til torsdag-fredag. :(

 

Takk for forslag, dere er velkomne til å komme med innspill til alternative framgangsmåter for å mekke sånne templates, eller skrive en hendig liten plugin ;D

 

 

Judofyr: Et av problemene er at jeg ikke vet hva funksjonen spytter ut. Skulle hatt en funksjon som tok flere argumenter som default i WP.

Endret av Haraldson
Lenke til kommentar

Bumper denne. Custom fields-problemet er ikke løst, men jeg legger ikke så mye vekt på hva som spyttes ut eller ikke da vi kjører ganske safe felter som uansett skal fylles ut.

 

 

Over til noe helt annet;

 

Jeg ønsker å liste opp søkeresultatene for tre kategorier når jeg bruker WPs søkefunksjon. Disse ønsker jeg å liste opp under hver sin overskrift, og med lik styling som innleggene har i sine respektive kategorier.

 

Single.php (vanlig detaljvisning i WP) har jeg modifisert på følgende måte;

PHP
<?php

$post $wp_query->post;

if ( in_category('3') ) {

include(TEMPLATEPATH '/aktor.php');

} else if ( in_category('4') ) {

include(TEMPLATEPATH '/produksjon.php');

} else {

include(TEMPLATEPATH '/normaldetalj.php');

}

?>

 

Dette fungerer flott for å 'tilegne' egne detaljvisningsmaler til innlegg avhengig av kategorier (her har da for eksempel en aktør, som ligger i kategori 3, en annen template enn produksjonene, som ligger i kategori 4).

 

Det det IKKE fungerer flott for, er søkeresultater. Jeg prøvde samme struktur, der eneste forskjell var hvilken template jeg linket til (små forskjeller i presentasjon, fjernet en kategori-beskrivelse i søkeresultatene blant annet) samt at jeg framfor å kjøre if else og else, kjørte én if-test for hver kategori i den tro at WP da ville finne riktig template for hver kategori. Det som skjedde var at jeg fikk et innlegg i kategorien 'Aktuelt' under 'Aktører' stylet med aktører-templaten.

 

Altså, det jeg vil ha er en h2 med "Søkeresultater" + "i kategori" over søkeresultatene for hver kategori.

 

Når jeg prøvde samme struktur som til detaljmalene, inkluderte jeg jo en loop med template som loopet i vei gjennom alle innleggene i kategorien (aktører er innlegg), uten å på noen måte ta hensyn til søkestringen. Jeg fikk til at bare relevante treff vistes, men

 

 

Er det noen som har en framgangsmåte for å få til det jeg ønsker her?

Endret av Haraldson
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...