Man pašam nepatīk, un zinu, ka citiem arī ne īpaši patīk rakstīt savu e-pastu visādās komentēšanas formās visādos blogos, tāpēc jau labu laiku centos atrast kādu “smuku” veidu, kā šo lauku šeit iekš apblog.lv padarīt ne-obligātu. Vēl aizvien nesaprotu, kāpēc šāda iespēja jau nav iebūvēta Wordpress’ā. Kā arī gūglējot nekur neko nevar atrast, kur būtu pastāstīts kā padarīt šo lauku ne-obligātu. Laikam visiem vienalga. :)

Ja arī vispār gribam atbrīvoties no šī lauka, tad ar vienkāršu izdzēšanu no templeita nepietiek. Tā kā lauks ir obligāts, tad notiek papildus pārbaudes pie submitēšanas. Tāpēc tādā gadījumā komentēt vispār vairs nav iespējams.

Šodien, kad izteicu savu sāpi iekš #php.lv, x-f izteica ģeniāli vienkāršu risinājumu, par kuru nez kāpēc vispār nevienu reizi neiedomājos - vienkārši jāpadara komentāra lauks neredzams, un jānorāda tam kaut kāda noklusēta vērtība:

<input type="hidden" name="email" value="example@example.com" />

Tas arī viss.

PAPILDINĀJUMS

Tā, ņemot vērā komentārus, apdomājos un izdomāju, ka tomēr jāizdomā universālāks veids. Nedaudz papētot Wordpress kodu, atklājās, ka tas ir nedaudz mazāk samudrīts nekā tas kādreiz bija. Tagad veikt vajadzīgo modifikāciju bija tīrais nieks.

Sava bloga sākumdirektorijā atrodam wp-comments-post.php failu. Atveram.

Nedaudz zemāk kodā sameklējam aptuveni šādu koda bloku (apt. pēc 50. rindiņas):

if ( get_option('require_name_email') && !$user->ID ) {
	if ( 6 > strlen($comment_author_email) || '' == $comment_author )
		wp_die( __('Error: please fill the required fields (name, email).') );
	elseif ( !is_email($comment_author_email))
		wp_die( __('Error: please enter a valid email address.') );
}

To visu nomainam uz šādu:

if ( !$user->ID ) {
	if ( $comment_author == '' )
		wp_die( __('Error: please fill the required fields (name).') );
	elseif ($comment_author_email != '' && !is_email($comment_author_email))
		wp_die( __('Error: please enter a valid email address.') );
}

Atcerieties, vairs netiks ņemts vērā uzstādījumos norādītais “Comment author must fill out name and e-mail” parametrs. Vārds vienmēr būs obligāts, bet e-pasts - neobligāts.

Protams, komentēšanas templeitā arī vajag veikt attiecīgās izmaiņas, lai nerāda “obligāts” pie e-pasta lauka.

Jāatceras arī, ka atjaunojot Wordpress versiju, šis fails visticamāk tiks pārrakstīts ar oriģinālo versiju, tātad modifikācija pazudīs.