Jak nastavit komentáře dofollow

Určitě jste si již všimli, že wordpress automaticky všem odkazům v komentářích nastavuje atribut nofollow. Tím googlebotovi (a dalším robotům) říká, že onoho odkazu si vůbec nemusí všímat. Jestli vašich příkazů uposlechne, je na sáhodlouhou diskuzi, která jen tak neskončí. Zpět ale na začátek, proč bych chtěl mít odkazy v komentářích dofollow? Google má totiž […]

Nejkomentovanější články na webu

Pod některými vašimi články může vzniknout zajímavá diskuze na určité téma. Počet komentářů postupně narůstá a vy byste nějak měli čtenáře upozornit, že „Tady to žije.“ WordPress vám umožní zobrazit pouze nejnovější příspěvky, ale my si vytvoříme widget, který nám umožní zobrazit ty nejkomentovanější. Návod, jak vytvořit uživatelský widget je i zde na webu. Pro samotné zobrazování nejkomentovanější pak stačí použít tento kód:

<ul>
<?php
$result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts WHERE post_status = 'publish'  ORDER BY comment_count DESC LIMIT 0, 5");
foreach ($result as $post) {
setup_postdata($post);
if ($post->comment_count != 0) { ?>
<li><a href="<?php echo get_permalink($post->ID); ?>" title="<?php echo $post->post_title; ?>">
<?php echo $post->post_title; ?></a> (<?php echo $post->comment_count ?>)</li>
<?php }
} ?>
</ul>

Dobře vám poslouží i časové omezení, které zabrání vypisování starý a neaktuálních článků, kde diskuze sice byla živá, ale nyní už skomírá. Stačí nahradit 3. řádek tímto:

$result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_date > INTERVAL -1 YEAR + NOW() ORDER BY comment_count DESC LIMIT 0, 5");

Rozšířené vkládání komentářů

**U Extended Comment**
„http://wordpress.org/extend/plugins/u-extended-comment/“:http://wordpress.org/extend/plugins/u-extended-comment/

– Users can edit or delete their comment in front-end.
– Users can post comment privately.
– HTML Editor(tinyMCE) provide various configuration.
– Attachment uploader.
– Selective enabling each component.

Přidávání polí do formuláře pro komentář

There are situations where you might want to know a bit more about your commenter: their age, the city they live in, or the color of their underwear. This article explains how to add an input field, store the data in the database and how to display the additional data in your blog if your theme uses the comment_form() function provided by WordPress.

„Celý článek »“:http://wpengineer.com/2214/adding-input-fields-to-the-comment-form/

Upozorňování na nové komentáře

**Subscribe to Comments**
„http://wordpress.org/extend/plugins/subscribe-to-comments/“:http://wordpress.org/extend/plugins/subscribe-to-comments/

Subscribe to Comments is a robust plugin that enables commenters to sign up for e-mail notification of subsequent entries. The plugin includes a full-featured subscription manager that your commenters can use to unsubscribe to certain posts, block all notifications, or even change their notification e-mail address!

*Alternativy*

**Comments notifier**
„http://wordpress.org/extend/plugins/comment-notifier/“:http://wordpress.org/extend/plugins/comment-notifier/

Překlad počtu komentářů

Určitě jste se s tím setkali. Po projití desítek webů s šablonami konečně naleznete takovou, která je natolik levná, že kvůli ní nemusíte posílat svoje poslední spodky na aukro a zároveň se jeví natolik hezky, že se za ní nemusíte ani trochu stydět. Je samozřejmě v angličtině a na nějakou vícejazyčnost vám z vysoka kašle. Ručně tedy upravujete šablonu, řádek po řádce se snažíte přeložit každé anglické slovíčko. Ale ejhle, jakmile narazíte na komentáře, jsou na ně vaše překladatelné schopnosti krátké. Čeština je natolik vymyšlená, že potřebujete hned čtyři verze – žádné komentáře, 1 komentář, 2-4 komentáře a 5 a více komentářů. Šablona vám ale nabízí jen tři možnosti (viz. níže), co tedy dál?

comments_number('Add Comment &#187;','1 Comment &#187;','% Comments &#187;');

Tímto kódem jsou komentáře obvykle vkládány. Zápis se ale může lišit šablonu od šablonu od šablony, ale po chvíli hledání byste ho měli být schopni najít. Abychom se skamarádili s češtinou, tak vytvoříme vlastní funkci, která bude naše komentáře vkládat. Tu vložíme do souboru functions.php, jež je standardní součástí všech šablon.

function pocetKomentaru(){
	$pocetKomentaru = get_comments_number();
	if(comments_open()){
		if($pocetKomentaru == 0) $komentText = "Žádné komentáře";
		elseif($pocetKomentaru == 1) $komentText = "1 komentář";
		elseif($pocetKomentaru < 5) $komentText = $pocetKomentaru . " komentáře";
		else $komentText = $pocetKomentaru . " komentářů";
		return "<a href='" . get_comments_link() ."'>". $komentText."</a>";
		}
	else return "Komentáře byly vypnuty";
	}

Co se ve funkci děje? Nejdřív zjistíme počet komentářů u příspěvku, slušně se WordPressu zeptáme jestli jsou komentáře povolené a následně podle počtu vrátíme příslušný text. Radujme se a slavme, naše funkce je hotová a plně použitelná. Do kódu šablony stačí vložit:

echo pocetKomentaru();

a komentáře se již zobrazují hezky česky.

Dokonalý překlad počtu komentářů ve WordPress šabloně

Při překladu WordPress šablony narazíme na problém, jak se vypořádat se skloňováním slova “komentář” při zobrazení počtu komentářů. Oproti angličtině má totiž čeština o jeden možný tvar víc.

Tam kde si angličtina vystačí s No comments, one comment a more comments potřebuje čeština tyto tvatry: “Žádný komentář”, “1 komentář”, “2 komentáře”, “5 komentářů”.

Problém je právě s těmi dvěma komentáři. Způsobů jak tento problém při překladu obejít je jistě více. Já vám představím dva. Jeden je opravdu obezličkou, druhý je propracovanější.

Chytrý překlad

Pro překlad počtu komentářů nám slouží parametry funkce comments_popup_link(). Využití této funkce použité v defaultní šabloně WordPress 2.9:

comments_popup_link('No Comments »', '1 Comment »', '% Comments »');

Jak je vidět, můžeme napřekládat bez problému zobrazení pro žádný komentář i jeden komentář, ale poté máme problém s 2,3,4 a nebo více komentáři. Zvolíme ‘% komentářů” nebo ‘% komentáře’? Ani jedna volba není ta správná. Po troše přemýšlení můžeme naše dilema vyřešit dvojtečkou.

comments_popup_link('Žádné komentáře »', '1 Komentář »', 'Komentářů: % »');

Jednoduché, ovšem těžko říct, jak moc elegantní řešení to je.

Využití hooku

Při tomto řešení využijeme toho, že funkce comments_number() zpřístupňuje hook comments_number. Na tento hook pověsíme vlastní funkci, přidávající hodnotu pro počet komentářů v rozpětí od 2 do 4, včetně krajních hodnot.

Stačí vložit následující kód do souboru functions.php:

function czech_comments_number($output, $number){
	if ( $number > 1 && $number <= 4)
		$output = str_replace('%', number_format_i18n($number), '% Komentáře');
	return $output;
 
}
 
add_action('comments_number', 'czech_comments_number', 10, 2);

A to poté bude fungovat v kombinaci s voláním funkce commnets_popup_link() z vaší šablony, kde si napřekládáte text pro počet komentářů 0, 1 a více jak 4:

comments_popup_link('Žádné komentáře »', '1 komentář »', '% komentářů »');

Je možné, že naše šablona někde využívá funkci comments_number() přímo, v tom případě i ji budem volat se tejnými parametry jako funci comments_popup_link a i tato funkce vrátí kýžený výsledek.

Reference:

http://codex.wordpress.org/Function_Reference/comments_popup_link

http://core.trac.wordpress.org/browser/tags/3.0.3/wp-includes/comment-template.php

http://codex.wordpress.org/Function_Reference/comments_number

http://codex.wordpress.org/Function_Reference/add_action

http://codex.wordpress.org/Function_Reference/apply_filters

Ochrana proti odkazovému spamu

**Bad Behavior**
„http://wordpress.org/extend/plugins/bad-behavior/“:http://wordpress.org/extend/plugins/bad-behavior/

Bad Behavior complements other link spam solutions by acting as a gatekeeper, preventing spammers from ever delivering their junk, and in many cases, from ever reading your site in the first place. This keeps your site’s load down, makes your site logs cleaner, and can help prevent denial of service conditions caused by spammers.

Bad Behavior also transcends other link spam solutions by working in a completely different, unique way. Instead of merely looking at the content of potential spam, Bad Behavior analyzes the delivery method as well as the software the spammer is using. In this way, Bad Behavior can stop spam attacks even when nobody has ever seen the particular spam before.

Bad Behavior is designed to work alongside existing spam prevention services to increase their effectiveness and efficiency. Whenever possible, you should run it in combination with a more traditional spam prevention service.

Bad Behavior works on, or can be adapted to, virtually any PHP-based Web software package. Bad Behavior is available natively for WordPress, MediaWiki, Drupal, ExpressionEngine, and LifeType, and people have successfully made it work with Movable Type, phpBB, and many other packages.

**Inpsyde AntiSpam**
„http://wordpress.org/extend/plugins/js-antispam/“:http://wordpress.org/extend/plugins/js-antispam/

Simple antispam solution. Scrambles a word and pieces it together automatically via JavaScript. Users with JavaScript enabled won’t notice anything. Those who have JavaScript disabled have to type the word into a textfield. This plugin won’t help against a targeted spam attack but should prevent a lot of random spam.

No remote service needed. Does not send or retrieve data from third party services.

**Ochrana mediálních souborů (obrázků apod.) proti komentářovému spamu**

Globální zákaz komentářů se překvapivě netýká mediálních souborů. Řešení je jednoduché:

/—code php
add_filter( ‚comments_open‘, ‚noMediaComments‘, 10, 2 );

function noMediaComments( $open, $post_id ) {
$post = get_post( $post_id );
if ( ‚attachment‘ == $post->post_type )
$open = false;
return $open;
}
?>
code
\—

„Zdroj »“:http://blog.futtta.be/2012/07/10/stopping-wordpress-media-attachments-comment-spam/

Přidávání komentářů z Facebooku

**Facebook Comments to WordPress**
„http://wordpress.org/extend/plugins/facebook-import-comments/“:http://wordpress.org/extend/plugins/facebook-import-comments/

You have a WordPress blog and you are using Facebook Comments Social plugin. **You want that comments your visitors add to Facebook become part of your website, not only visually, but as a part of the WordPress database**. In April 2011, Facebook released an extension to their protocol (the so called graph api) that makes it possible. This plugin uses the extended Facebook protocol to import comments from Facebook to WordPress database.

Some visitors prefer to post comments to Facebook Social Plugin as these comments are becoming part of their social activity and are displayed on their wall. Other visitors prefer not to use Facebook comments. They would like to post their comments to your WordPress blog.
The Facebook Import Comments combines both type of plugins and makes them part of your WordPress blog.

*Alternativy*

**Facebook Comments for WordPress**
„http://wordpress.org/extend/plugins/facebook-comments-for-wordpress/“:http://wordpress.org/extend/plugins/facebook-comments-for-wordpress/

This plugin integrates the Facebook commenting system (new, old or both) right into your website. If a reader is logged into Facebook while viewing any comment-enabled page or post, they’ll be able to leave a comment using their Facebook profile.
Supports custom styles, notifications, combined comment counts, recent comments.

Jednoduché zvýraznění komentářů autora

Funkčnost pluginu Simple Author Highlighter – tedy barevné zvýraznění komentáře autora webu – je závislá na použitém způsobu výpisu komentářů. Proto nemusí nutně fungovat ve všech šablonách vzhledu.

Nicméně v defaultních šablonách WordPressu, jak Kubrick, tak i nové šabloně TwentyTen plugin Simple Author Highlighter funkční je. V nastavení určujete barvy pozadí komentáře a písma. Jde […]