Egen Gästbok i WordPress

( i form av kommentarfunktionen)

OBS!
Orkar du inte göra nedanstående så finns det ett plugin som kan göra nått liknade och skapar då 2 filer som behövs till en gästbok. Dessa filerna kan du sedan redigera lite så du får dem på svenska om du så vill.

*********************

Vad är nu detta bra för då?
Jo, med denna funktion så har du ju full kontroll över din gästbok eftersom den sparas i samma databas som alla inläggen i WordPress.

OBS! – ser att det är en ny plugin (paged-comments) nu på sidan som funkar helt annorlunda än det jag beskrivit här under nu, men det går ladda hem den ”gamla” än. Gå till 2005-08-14 och ladda hem de filerna där (högerklicka – spara länk som) om du vill följa min guide här. Eller så laddar du hem dem här, tänk på jag beskriver filerna i katalogen 2005-08-14 här nu så ta den katalogen.

Placera paged-comments.php i din plugins-katalog samt aktivera den under Insticksprogram. Den andra filen wp-paged-comments.php placerar du i wordpress root-katalog, dvs där du har wp-config.php m.m.

- "wordpresskatalogen"
	- wp-content
		- plugins
			| paged-comments.php

| wp-paged-comments.php

Sedan så skapar du en guestbook.php som det står beskrivit här eller läser här under där jag översatt det hela.

Steg 1 – skapa en template:

Öppna i texteditor page.php (eller liknade) i det temat du använder.
Öppna även index.php i samma tema.
Kopiera all kod rörande comments och comment template information från index.php
Klistra sedan in denna information i page.php under storycontent.
Lägg till:

<?php
/*
Template Name: Guest Book
*/
?>

överst på sidan före

<?php get_header(); ?>

Spara sedan den nya sidan som guestbook.php i ditt tema.

Steg 2 – Skriv en Gästbok i WordPress:

Skapa en ny sida via Skriv > Skriv sida.
Under sidans inställningar>Mall för sida väljer du Guest Book.
Skriv något på sidan eller låt den vara tom…
Alla meddelanden kommer att postas som kommentarer och kommer att se ut som övriga kommentarer på din sida.
(denna text översatt från http://geeksmakemehot.com/wordpress-guestbook/ )

Så här ser min page.php ut:

<?php 
get_header();
?>

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="entry
<?php if(is_home() && $post==$posts[0] ) echo ' firstpost';?>">

<!-- <h2 class="entrydate"><?php the_date() ?></h2> -->

<h3 class="entrytitle" id="post-<?php the_ID(); ?>"> 
<a href="<?php the_permalink() ?>" rel="bookmark">
<?php the_title(); ?></a> </h3>
<div class="entrymeta">
      <?php edit_post_link(__('<strong>Edit</strong>')); ?>
</div>


<!-- Detta är koden du skall ta bort och ersatta -->

<div class="entrybody">
    <?php the_content(__('(Read the article)')); ?>
</div>

<!-- Slut på kod -->


<!-- trackback closed  -->
<!--<?php trackback_rdf(); ?>-->
</div>

<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

</div>
<?php get_sidebar(); ?>
<!-- The main column ends  -->
<?php get_footer(); ?>

Så här blev filen (där jag redan ändrat det som står längre ner) i det temat jag kör nu (fTiny)
Jag har alltså lagt till detta med name Guest Book, bytt hänvisning till vad fil som skall användas:

<?php
/*
Template Name: Guest Book
*/
?>
<?php 
get_header();
?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="entry
<?php if(is_home() && $post==$posts[0] ) echo ' firstpost';?>">

<!--<h2 class="entrydate"><?php the_date() ?></h2> -->

<h3 class="entrytitle" id="post-<?php the_ID(); ?>"> 
<a href="<?php the_permalink() ?>" rel="bookmark">
<?php the_title(); ?></a>  
</h3>
<div class="entrymeta">
      <?php edit_post_link(__('<strong>Edit</strong>')); ?>
</div>

<!-- trackback closed  -->
<!-- <?php trackback_rdf(); ?> -->
</div>

<!-- OBS - sokvägen till wp-paged-commets.php -->
<!-- Radera koden som du ser har ovan i pages.php -->

<?php include(ABSPATH.'/wp-paged-comments.php'); ?>

<!-- Slut kod -->

<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

</div>
<?php get_sidebar(); ?>
<!-- The main column ends  -->
<?php get_footer(); ?>

Du har då en guestbook.php i det temat du använder och där det nog då blir så att det sista inlägget kommer längst ner men så brukar man inte vilja ha i en gästbok. Man brukar också vilja ha nån form av sidindelning så att det inte blir så tokigt lång ”lista” och det är där detta plugin kommer in som sidindelar det samt vänder på postordningen.

Vad man sen måste göra är att det skall ändras lite så att denna nyskapade guestbook.php använder den nya wp-paged-comments.php istället för comments.php som ligger i ditt tema genom att ändra lite i koden. Leta reda på anropet till detta och byt så det liknar koden jag visar här ovanför.

Är alltså:

<?php the_content(__('(Read the article)')); ?>

Som gör att kommentarer syns på sidan, detta skall ersättas med:

<?php include(ABSPATH.'/wp-paged-comments.php'); ?>

Som då gör att all info rörande inlägg (gästboksinlägg) kommer från filen wp-paged-comments.php.

Sen detta att det står ABSPATH innebär bara att den letar i wp’s root efter kommentarsfunktionen (bara för Gästboken) och hittar det då i filen wp-paged-comments.php. Det är alltså ”stilen” i filen wp-paged-comments.php som bestämmer hur själva resultatet blir för gästboken.

wp-paged-comments.php:

Sedan måste du nog ändra lite i wp-paged-comments.php så att den blir helt översatt till svenska samt att lite andra saker skall stämma mot det temat du kör. Byter man tema så måste man kopiera ut hela det avsnittet från comments.php om man vill ha samma utseende som man har på kommentarerna där men det går ju ha nått ”standard” bara för gästboken med. Använder du t.ex. Gravatars så måste den koden även in i denna nya wp-paged-comments.php då det är den som används som mall till Gästboken nu.

paged-comments.php

Vad man också kan göra är att kika lite i paged-comments.php som ligger i plugin-katalogen och har lite inställningar. Bland annat om vad ”ordning” det skall vara på inläggen samt hur många som skall visas på resp sida. Allt rörande det hittar du mellan:

// =====START EDITING ========

// =====END EDITING =========

Där är det 2-3 saker som är viktigt:
Detta nedanstående styr hur många inlägg du vill ha per sida.

$paged_comments->per_page = 10;

Sen är det ju detta med ordningen på hur inläggen skall visas med. Detta gör att det senaste postade inlägget kommer överst:

$paged_comments->ordering = 'DESC';

Vidare så kan man ställa in hur många ”sidor åt vardera håll den skall länka”:
(I detta fall kommer den visa 5 åt vardera hållet)

$paged_comments->page_range = 6;

Sen kan man välja om man vill ha en ”visa alla” länk där med eller inte. Har man väldigt många inlägg så är ju en sådan lite jobbig så jag har stängt av den funktionen. Den hittar du sist bland inställningarna och false tar bort den länken:

$paged_comments->show_all_option = false;

Sen är det alltså bara att skriva en ny sida som det stod tidigare via Skriv>Skriv sida och under Sidans Inställningar > Mall för sida välja Guest Book och du har en egen WP-Gästbok! Se bara till att Kommentarerna är förbockade med där till höger.

P.S. Det är ju en ny plugin ute som sagt sen i april-06, version 2 och den fungerar lite annorlunda och innan jag testat den själv så kan jag inte skriva om den. Vad den skiljer sig åt mest på är att man bara lägger in en fil i det temat man använder och allt detta innebär att man gör en för varje temat man avänder och detta skiftas då man skiftar temat som vanligt. Pluginskaparen har också ”lyft bort” koden för sidantalet m.m. som jag beskrivit närmast här ovan till en ny fil så man ha en och samma inställning oavsett vad tema man kör då denna ligger på annat ställe. D.S.

Fler WordPresstips »

css.php