Kategoriler
Anketler Webmaster yardım Wordpress

WordPress: site admini ve konu yazari yorumlarini renklendirmek!

[poll id=”8″]

Bazi arkadaslarin isine yarayabilecegini dusundugum, wordpress deki en sevdigim ozelliklerden birisidir bu. Yorumlari listelerken wordpress bu listelenen yorumlara ayri ayri class yerlestirir. Boylece her yorumun farkli renklendirmesine olanak verir. Bizim yapmamiz gereken tek sey bu class lari css yani stil dosyamizda belirtmek.

Site admininin yazdigi yorumlari renklendirmek icin asagidaki css class ini kullanacaksiniz:

comment-author-admin

Konu yazarinin konuya yazdigi yorumlari renklendirmek icin asagidaki css class ini kullanacaksiniz:

bypostauthor

Bunlar haricinde bir kac css class koduda ekler her yoruma, bunlar isinize yaramayabilir, yada daha prof anlamda calismalar icin gerekebilir, bunlara burda yer vermiyorum simdilik. Ilerde bu konuda da detayli bir yazi yazacagim.

yukaridaki class kodlarini yorumlarin listelenme sekline gore eklemeniz gerekli. Ornegin standart wordpress temasinda stil dosyasina asagidakini eklemeniz yeterli olabilir:

.comment-author-admin {
background: #ccc;
}
.bypostauthor {
background: #f00;
}

Yukarida renkleri rast gele sectim arkadaslar, siz kendinize gore arkaplan rengini degisebilirsiniz. Bunun yaninda farkli duzenlemeleride css kismindan yapabilirsiniz.

Unutmamaniz gereken bazi temalarda yorumlar, ol, li v.s gibi taglar yardimiyla listelenmekte boyle oldugunda yukaridaki css taglarini li elementine ait oldugunu belirterek eklemeniz gerek. ornek asagidaki gibi:

li.comment-author-admin {
background: #ccc;
}
li.bypostauthor {
background: #f00;
}

Yada

ol.commentlist li.comment-author-admin {
background: #ccc;
}
ol.commentlist li.bypostauthor {
background: #f00;
}

Yada

ul.commentlist li.comment-author-admin {
background: #ccc;
}
ul.commentlist li.bypostauthor {
background: #f00;
}

Bunlar ornektir, kendinize gore duzenlemeniz gerekli. Bunlari denediginizde calismaz ise konu altinda detaylica sitenizi belirtin, incelemeden sonra gerekenleri yazarim. Ancak ilk kisimdaki ornegin calismasi yuksek derecede ihtimaldir :)

Kategoriler
Php ve mysql Webmaster yardım Wordpress

WordPress degisikliklerinde eski yorumlarinizi yeni siteye ekleme!

Arkadaslar bazi durumlarda kullandiginiz wordpress i degistirmek istersiniz. Bu nhasil olur ? iki farkli domaininiz vardir, birinde kisisel digerinde de farkli alanda yazilarinizi barindirirsiniz. Tarihin birinde de artik bir tanesini birakip tek siteyle devam etmek istediginizi anlarsiniz. bu durumda yazilarinizi yeni siteye manuel olarak eklersiniz ancak yorumlar cok fazlaysa ve manuel sql sorgusu ile eklemek cok zahmetli geleceginden bu yazimda 2 saniyede bunu nasil yapacaginizi anlatacagim.

Yapacagimiz islem hazirlik asamasi 5 dk, uygulamaya alma asamasi da1 dk olarak 2 ayri kisimda olacaktir. bunlardan ilki Eski db de bulunan yorumlar tablosunu farkli bir on ek ile yeni databaseye eklemek, sql sorgusu icinde php dosyasini hazirlamak olacaktir. 2 kisimda ise bunu calistirip kontrol etmek kalacaktir geriye..

Burda unutmamaniz gereken konu, devap olarak eklenen yorumlar eskisi gibi cevap seklinde degil normal sekilde gorunecektir. cunku yeni db ye eski yorumlari eklerken otomatik yeni ID almasini sagliyoruz, burada da ID lerfkli olacagindan cevap ozelligini yorumlari cektiginiz konu icin yok saymaniz gerek :)

Baslamadan once iki databaseyide mutlaka yedek almayi unutmayin.

Phpmyadminden eski websitenizin databasesini acin ve sadece bu tabloyu bilgisayariniza indirin: comments (eger on ek kullanmis iseniz onu indirin, default wp_comments seklinde de olabiliyor)

* Inen dosyayi acip icerisindeki comments tarisinin onundeki takiyi yada komple ismi duzenleyin.

* Yeni DBnizin oldugu tabloya yukleyin.

* Ardindan asagidaki php sorgusunu yeni wordpress’inizin root dizininde bir php dosyasina ekleyin, kendinize gore duzenleyin.

< ?php

include_once "mysql/ez_sql_core.php";
include_once "mysql/ez_sql_mysql.php";

$kullanici="DB-kullanici-adin";
$parola="sifren";
$DBCIK="DB-adin";
$sunucu="localhost";

$db = new ezSQL_mysql($kullanici,$parola,$DBCIK,$sunucu);
$db->query("SET NAMES utf8");

$eskisitekonuyorumid = "202";
$yenisitekonuyorumid = "1459";

$sonuclar = $db->get_results("SELECT * FROM ESKI_comments where comment_post_ID='$eskisitekonuyorumid'");

foreach ( $sonuclar as $sonuc )
{

$comment_post_ID = $yenisitekonuyorumid;
$comment_author = $sonuc->comment_author;
$comment_author_email = $sonuc->comment_author_email;
$comment_author_url = $sonuc->comment_author_url;
$comment_date = $sonuc->comment_date;
$comment_content = mysql_real_escape_string(stripslashes($sonuc->comment_content));
$comment_approved = $sonuc->comment_approved;
$comment_agent = $sonuc->comment_agent;
$comment_type = $sonuc->comment_type;
$user_id = $sonuc->user_id;

$query = $db->query("INSERT INTO wp_comments(
comment_post_ID,
comment_author,
comment_author_email,
comment_author_url,
comment_date,
comment_content,
comment_approved,
comment_agent,
comment_type,
user_id
) VALUES (
'$comment_post_ID',
'$comment_author',
'$comment_author_email',
'$comment_author_url',
'$comment_date',
'$comment_content',
'$comment_approved',
'$comment_agent',
'$comment_type',
'$user_id'
)");

if($query) {
echo "basarili oldu - ".$sonuc->comment_ID." = ".$sonuc->comment_content."

"; }else{ echo "basarisiz oldu - ".$sonuc->comment_ID." = ".$sonuc->comment_content."

"; } } ?>

Sirasiyla duzeltmeniz gereken yerleri yazacagim:
1: $eskisitekonuyorumid = Yorumlarini almak istediginiz konunun eski sitedeki ID si
2: $yenisitekonuyorumid = Yorumlari eklemek istediginiz konunun yeni sitedeki ID si
3: ESKI_comments = Eski yorumlarin oldugu ve yeni konuya ekleyeceginiz yorumlarin bulundugu tablo ismi (indirdigimiz)
4: wp_comments = Yorumlarin eklenecegi yeni tablo ismimiz.

Sistemde EZsQL ile calistigimdan buradaki ezsql dosyalarini indirip php dosyasinin oldugu yere yukleyin (klasorle beraber)

Dosyalarda yerli yerine yuklendikten sonra kodlarin bulundugu php dosyasini webtarayicinizda acin ve basarili yada basarisiz sonuclari takip edin. Genelde butun sonuclar basarili sekilde listeleniz. Ancak sorun varsa uyari verefcektir. Bu durumda konu altina yorum duserseniz sorunu anlayip yardimci olmaya calisirim..

Yardimci olmasi umidiyle, basarilar..