Edit Comments

Detta är ett plugin som gör att besökarna kan ändra/rätta sitt eget postade inlägg/kommentar. Tiden för detta är som standard satt till 30min från det att kommentaren postats. Detta går ändra till den tid man själv tycker är lämplig.

OBS! Detta plugins rekommenderas inte längre då det upptäckts en farlig bugg i det. Samtidigt skriver pluginmakaren att han varken har tid eller ork att åtgärda det hela.

Ta istället en titt på WP AJAX Edit Comments där du bara behöver ladda upp pluginet och inte redigera några filer.


OBS! – detta plugin funkar inget bra ihop med V2.1 av WordPress men det går att ordna till ifall man redigerar raderna 84-88 i pluginfilen som ser ut så här:

$location = add_query_arg('jal_edit_comments', '', $_SERVER['HTTP_REFERER']);
// take out the #commentform bit
$location = str_replace('#commentform', '', $location);
// direct them to the comment they edited
$location .= "#comment-".$comment_post_ID;

Ändra så det istället står:

$location = $_SERVER['HTTP_REFERER'];
// take out the #commentform bit
$location = str_replace('?jal_edit_comments=', '#comment-', $location);
// direct them to the comment they edited
//$location .= "#comment-".$comment_post_ID;

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

Pluginet ifråga hittar du är:

Efter att ha laddat hem det och packat upp så skickar du upp filen ”edit-comments.php” till din pluginkatalog, /wp-contents/plugins/ och aktiverar det sedan under ”Insticksprogram”

OBS! – Den medföljande filen comments.php är en redan redigerad comments.php för temat Kubrick som medföljer en WordPressinstallation. Vill du testa detta så kan du skicka upp den till temat Kubrick och ersätta den som finns där så skall det fungera. Om du inte kör det temat så skall den inte användas.

Men mera måste göras som sagt, man måste redigera filen comments.php en hel del så se verkligen till att ha en kopia på orginalfilen om något går snett.

Filen comments.php i ditt tema:

Öppna filen comments.php i en texteditor.
I den filen skall vi ersätta det ordinarie anropet till just redigera och stället lägga till | <?php jal_edit_comment_link(); ?> så det ser ut i stil med detta:

<small class="commentmetadata"><?php comment_date('F jS, Y') ?> @ <?php comment_time() ?> | <?php jal_edit_comment_link(); ?></small>

Här är det ju olika från fall till fall vad gäller temat och den ”class” som står där heter kanske något annat hos dig. I det temat jag nu kör (fTiny) så såg det ut så här innan jag ändrade:

<span class="commentdate"><?php comment_date('') ?> | <a href="#comment-<?php comment_ID() ?>" title="comment link url"></a> <?php comment_time() ?> <?php edit_comment_link('<strong>Edit</strong>','',''); ?>

Och det ändrade jag till:

<span class="commentdate"><?php comment_date('') ?> | <a href="#comment-<?php comment_ID() ?>" title="comment link url"></a> <?php comment_time() ?> | <?php jal_edit_comment_link(); ?>

Jag tog alltså bort det ”redigera-anrop” som stod där:

<?php edit_comment_link('<strong>Edit</strong>','',''); ?>

Ersatte det med anropet som jag skrev tidigare, nämligen detta som går till pluginet:

| <?php jal_edit_comment_link(); ?> (lade till ett | som en ”avdelare” med)

Inte nog med det, leta nu efter:

<?php if ( $user_ID ) : ?>

Här skall redigeras ordentligt och ersätt denna koden <?php if ( $user_ID ) : ?> med detta:

<?php if ( isset($_GET['jal_edit_comments']) ) : $jal_comment = jal_edit_comment_init(); if (!$jal_comment) : return; endif; ?> <?php elseif ( $user_ID ) : ?>

Sen är det dags leta efter: <textarea> som är fältet där man skriver kommentaren och det ser ut i stil med:

<textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea>

Där skall vi in med lite kod till mellan <textarea></textarea> så det ser ut så här:

<textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"><?php jal_comment_content($jal_comment); ?></textarea>

Nu snart är vi klar.. bara en sak kvar nu och det är den rubriken eller vad man ska kalla det där det står i stil med <h3 id="respond">Leave a Reply</h3>. Men även här så kan det skilja lite på ”id” mot det temat du använder och du skall naturligtvis ha den id du har kvar. Detta skall då ersättas med:

<h3 id="respond"><?php echo (isset($_GET['jal_edit_comments'])) ? "Edit your Comment" : "Leave a Reply"; ?></h3>

Här kan du översätta den texten om du vill till svenska och vad denna rad gör är ju att det kommer att stå ”Edit your Comment” ifall du har rätt att redigare och annars så står ”Leave a Reply”.

Pluginfilen jal-edit-comments.php:

Här finns några saker man kan ändra/översätta med. Ett av dessa är ju hur lång tid man skall få på sig att redigera och detta hittar du rätt så tidigt i filen:

$jal_minutes = 30;

Här är det ju bara ange de minutrar du vill.

Sedan 10 rader längre ner står ju den text som kommer att dyka upp när man har rätt att redigera och där har jag översatt det till detta:

function jal_edit_comment_link($text = 'Redigera detta', $before = '', $after = '', $editing_message = '<strong>REDIGERING P&Aring;G&Aring;R</strong>')

Sedan finns det lite till längre ner att översätta med men det får du ge dig på själv..

Lycka till!

Fler WordPresstips »

css.php