Gå til innhold

Problem med sidebar på Pages i Wordpress


Anbefalte innlegg

Skrevet (endret)

Ta en kikk her:

http://astoria.domeneshop.no/www.amalieskramshus.no/

 

Er en side jeg mekker litt på for tiden. Er min første side i WP, så det har jo uungåelig oppstått en del krøll. Nå trodde jeg faktisk at jeg hadde kommet forbi alt krøllet, men neiiida :)

 

I sidebaren min er det en "Siste Nyheter" feature, som trekker ut de 3 siste nyhetene som er postet under nyhetsdelen av siden.

På index-siden funker denne fett, men om en klikker seg inn på en av undersidene (som er Pages), så nekter den å hente ut annet enn datoen på postene.

 

Syns dette er veldig rart, siden Loopen faktisk henter ut noe (dato), men ikke hele posten!

 

Sidebar, header og footer er forøvrig alle i egne .php filer, så disse skal være like uansett hvilken side man befinner seg på.

Endret av nacho
Videoannonse
Annonse
Skrevet

Hei og hopp!

 

Been there, done that. Dette er hva du trenger å vite:

Først, les a special notice fra Wordpress.org.

 

Deretter må du lage en ny query på rett måte.

http://codex.wordpress.org/Template_Tags/query_posts

 

PHP

query_posts('category_name=nyheter&showposts=3');

 

// ny query, ny loop

if (have_posts()) :

while (have_posts()) : the_post();

the_title();

endwhile;

endif;

 

Good luck. LLL TTT codex.wordpress.org

Skrevet (endret)

Supert! Fikk trimma den datoformateringa mi litt nå, før så var det vel 3-4 forskjellige tags for å vise den riktig:)

 

Men problemet med at den sidebaren ikke vises i undersider er fortsatt der, og så vidt jeg kan se så er queryen riktig.

 

Her er Loopen fra sidebar.php, som blir inkludert før hovedinnholdet på siden:

 

  <?php query_posts('cat=1&showposts=3'); ?> 
 
 <?php if (have_posts()) : while (have_posts()) : the_post(); ?>        	

 	<div class="post" id="post-<?php the_ID(); ?>">	
   
   <div class="storycontent">
   	
   	<div class="sistenyheterdatovisning">[<?php the_time('d.m.Y'); ?>]</div><br />
   	<a href="?page_id=3">"<?php the_content_rss('', TRUE, '', 35); ?>"</a>
   	<br />
 	
   </div>
         
 	</div>
 	
 <?php endwhile; else: ?>
         
 	<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>      	
 	
 <?php endif; ?>

 

 

Og så kommer loopen som ligger i "Nyheter", som er Pages:

 

 

  <?php query_posts('cat=1&showposts=-1'); ?>
 
 <?php if (have_posts()) : while (have_posts()) : the_post(); ?>        	
 
 	<div class="post" id="post-<?php the_ID(); ?>">	
 
   <div class="storycontent_nyheter">
   	
   	<h4><?php the_title(); ?><div class="datovisning"> - [<?php the_time('d.m.Y'); ?>]</div></h4>
   	
   	<?php the_content(__('(more...)')); ?>
 
   </div>
       	
 	</div>
 
 <?php endwhile; else: ?>
       	
 	<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>      	
 
 <?php endif; ?>

 

 

Nå skal det sies at min kunnskap om dette er TUNGT under construction :)

 

Her er forresten en oppdatert link til siden: http://astoria.domeneshop.no/www.amalieskramshus.no/

 

 

Update: Det ser ut til at det var the_content_rss som krølla det til, da sidebaren funker med feks the_excerpt og the_content.

Endret av nacho
Skrevet

Det vil si at det funket eller? For bruk ikke excerpt da denne er litt svak.

 

Bruk the_content() og <!-- more -->, eller post meta, som er sikkert som banken.

 

Glemt hva som var svakt med the_excerpt, men jeg vet jeg måtte til med en plugin for å få det slik jeg ville.

Skrevet

Er ikke <!--more--> litt dum å bruke i forhold til ingresser og hovedtekst? Ingressen blir plutselig en del av hovedteksten i stedet for en frittstående tekst.

Skrevet

Jo.

 

Men ikke bruk the_excerpt. Denne henter fra "optional excerpt" i en post, men det var... ett eller annet drit! :p

 

Bruk derfor METAnøkler. Dette er 100% fleksibelt. Da legger du altså til en metanøkkel som heter "ingress", og legger til hva du vil! Deretter henter du den ut (i loopen) som dette:

 

PHP

get_post_meta($post->ID, 'ingress', true);

$post->ID (husk stor ID) er selvforklarende. Må altså være i loop.

'ingress' er jo rimelig selvforklarende.

true gjør at den kommer tilbake som en streng, ikke et array.

 

Kilde:

http://codex.wordpress.org/Using_Custom_Fields

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å
×
×
  • Opprett ny...