
ما همیشه به دنبال راههای بهتر و جدیدتر برای رفع مشکلهامون هستیم. مطلاب امروز، نوشتهای درباره "منحصر بهفرد کردن نظرات مدیر در وردپرس" به روشی جدیدتر هست. یک آموزش جدید و در واقع تکمیل یافته آموزش "برجسته کردن دیدگاه های مدیر سایت". این روش در واقع عیب آموزش قبلی رو از بین برده. به این دلیل که در روش قبلی یه اشکال بزرگ وجود داشته و اون این بود که پس از پایان مراحل کار، هنگامیکه سایت یا بلاگ وردپرسیتون چند مدیر داشته باشه، فقط نظرات مدیرکل (منظور از مدیر کل اینجا مؤسس بلاگ هست) هایلات خواهد شد و نظرات سایر مدیران و یا حتی در مواقع لزوم ویرایشگران به حالت عادی خواهد ماند. در واقع آپدیت این روش بر پایع تابع پیاچپی "if … else" بنا شده که در روش قبلی نیز بهکار رفته بود. البته ناگفته نمونه که برای انجام اینکار پلاگینهای متعددی هم وجود داره که به دلایل زیادی استفاده از این پلاگینها توصیه نمیشه چون اکثراً هوشمند نیستن و همچنین به خاطر صرفهجویی در منابع هاست، بهتره از روشهای دستی استفاده کنین. در زیر ما دو روش برای انجام اینکار خدمت شما عرض خواهیم کرد تا بتونین برای بلاگتون از این روشها استفاده کنین.
روش دستی اضافه کردن لیست
در این زمان، ما میخوایم کار رو برای خودمون آسونتر کنیم تا بتونیم لیست مدیران بلاگ رو بدون هیچ کد اضافهای تهیه کنیم. به جای استفاده از یک کد یا چک کردن آدرس ایمیل، ما به وردپرس یه لیست ایمیل، که متعلق به مدیران وردپرس هست، تحویل میدیم. به این ترتیب اگه ایمیل شخص نظردهنده به این لیست تعلق داشته باشه، نظر اون شخص با یه استایل جداگانه و منحصر به فرد به نمایش گذاشته میشه. که با بقیه نظرات فرق داره.
ساخت لیست ایمیل
برای مرحله بعد، ما به تعیین کردن لیست ایمیلهایی که مخصوص هستند نیاز داریم. من از چند ایمیل برای نمونه در اینجا استفاده کردم تا بتونین بهخوبی مسئله رو درک کنین.
<?php //List of emails to highlight $admin_emails = array( "saeid@yekweb.com", "vahid@yekweb.com ", "ali@yahoo.com", "mohamad@gmail.com" ); ?>
شما گزینههایی خواهید داشت
شما میتونید هر تعداد ایمیلی که نیاز دارین به لیست اضافه کنین. لیست میتونه همهی ایمیلها رو چک کنه.
در این روش شما باستی بصورت دستی همهی ایمیلهایی که هدف شماست به لیست اضافه کنین. این روش قاعدتاً آسونتر و سریعتر از روش شناسایی اکانت ادمینها بصورت اتوماتیک، روشی که در ادامه عرض خواهد شد، هست.
روش گرفتن خودکار ایمیلها از دیتابیس
اگه مایل به استفاده از این روش هستید، میتونیم این کد رو بنویسیم. بنابراین در صورت استفاده از این کد ما هرگز مجبور به وارد کردن دستی ایمیلها در comments.php نخواهیم بود. این روش هم در اکثر سایتها استفاده میشه، ولی خب روش قبلی روش سریعتر و سرعت عمل اون روش بیشتر هست. اما اگه این روش رو ضروری دونستین میتونین از این روش استفاده کنین.
جستجوی ایمیلها در دیتابیس
ما برای مرحله اول نیاز داریم که تمامی ایمیلهای مدیران رو از دیتابیس دریافت کنیم و اونها رو در صف جایگزینی کنیم. اینکار برای گرفتن لیست خاصی از ایمیلهای کاربران وردپرس از دیتابیس کار آسونی هست.
<?php
//Automatically pull admin accounts
$user_level = 8; //Default user level (1-10)
$admin_emails = array(); //Hold Admin Emails
//Search for the ID numbers of all accounts at specified user level and up
$admin_accounts = $wpdb->get_results("SELECT * FROM $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value >= $user_level ");
//Get the email address for each administrator via ID number
foreach ($admin_accounts as $admin_account){
//Get database row for current user id
$admin_info = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE ID = $admin_account->user_id");
//Add current user's email to array
$admin_emails[$admin_account->user_id] = $admin_info->user_email;
}
?>
اگه این اولین تجربه کار شما با دیتابیس وردپرس هست ممکنه شما وقتی با کد بالا مواجه شدین کمی متعجب بشین. این زیر یک لیست تفکیک برای کمک به شما برای برطرف کردن این مسائل آورده شده:
در آخر این کد، ما باید لیست آدرس ایمیلهایی که سطح اونها رو $admin_emails مشخص کرده بود، مرتب کنیم.
انتخاب کردن نظرات مدیر
همونطور که در پایین مرحله قبل گفته شد ما بایستی لیست ایمیلهای مدیران رو مرتب کنیم.
فیلتر کردن نظرات
اکنون ما یه لیست در اختیار داریم، ما بایستی هر ایمیلی که مختص نظرات مدیر هست رو چک کنیم. اگه نظری طبق این شرط پیدا شد، اون استایل خاص خودش یعنی "admincomment" رو دریافت کنه و استایل رو به نمایش بگذاره.
در فایل comments.php پوسته بلاگ شما، چرخه نظر foreach رو قرار میدیم.
<!--Check if comment is by the author-->
<?php
//Default to
$admin_comment = false;
foreach ($admin_emails as $admin_email){
//If comment was made from an admin email
if($comment->comment_author_email == $admin_email){
$admin_comment = true;
break;
}
};
?>
کد بالا، آدرس ایمیل نویسنده نظر رو میگیره و اون رو در لیست ایمیل مدیر چک میکنه. اگه نتیجه مثبت بود، $admin_comment درست تنظیم میشه.
تعیین کردن کلاس خاص برای نظرات
نظرات مخصوص، بصورت عادی توسط کلاس "admincomment" تعیین شدهاند. من در اینجا کد مورد نظر رو نوشتم. شما حتماً به کد PHP که در کلاس ul تعریف شده، توجه خاصی کنید.
<ul class="comments <?php if($admin_comment) echo 'admincomment'; ?>"> <!--سایر کدهای کامنت اینجا--> </ul>
بهخاط داشته باشید ساختار کامنت حتماً میبایستی بعد از چرخه $isByAdmin در مرحله قبل قرار داده بشه تا به درستی کار کنه.
استایل دادن به نظرات
وقتی که تابع PHP دریافت میکنه که نظر مخصوص مدیر هست در خروجی کلاس مورد نظر ما رو به نمایش میذاره، یعنی در واقع همون هدف اصلیمون. پس باید ما در فایل استایل پوسته این class رو تعریف کنیم تا تابع، کلاس استایل رو دریافت کنه.
من در اینجا یه نمونه ساده css رو برای راهنمایی شما قرار میدم. امّا امیدوارم شما یه ایدهی خلاقانهتری برای کار نهایی انجام بدین.
.admincomment{background:#191919; color:#FFF; border:1px solid #333;}
دانلود ریز کدها
برای کمک کردن به شما، ما با هم یک فایل کامنت همراه با ریزکدهای ضروری رو برای دانلود قرار دادم. این فایل همهی شبههها و سوالات شما مربوط به جایگذاری و ترتیب کدها رو برطرف میکنه. برای دانلود فایل اینجا کلیک کنید.
بهزودی قابل دسترس در یک افزونه
هماکنون شما تونستین اینکار رو انجام بدین، خوش به حالتون. ما قصد داریم این روش رو برای استفاده آسون کلاس برای پوستههای وردپرس تهیه کنیم.
نسخه پلاگین شامل متدهای بالا برای نمایش میشه. ما برنامهای برای دانلود این پلاگین تو روزهای آینده در ذهن داریم.
ایدهها و درخواستهای دیگهای دارین؟ اگه جواب بله هست میتونین پایین در بخش نظرات مطرح کنین و ما مطمئناً اونها رو قبل اینکه انتشار نهایی انجام بشه در افزونه ملاحظه میکنیم.
موفق و شاد باشید 
منبع: پایگاه اینترنتی یک وب
چیز زیادی از خودم در طول این سال ها نمانده … آنچه مانده تقدیم تو باد !
وحید دربانی
نوع: دیدگاه
تاریخ: ۱ام آبان ۱۳۹۰ @ ۲:۱۳ ب.ظ
درود؛
خواهش میکنم سعید جان؛ کاری نکردم که. فکر کنم این آموزش واقعاً نیاز بود، خودم هم یه ذره سرش گیر کرده بودم. در کل ایشالله که دیگه کسی مشکل نداشته باشه. راستی سعید جان اگه غلط املایی پیدا کردی لطفاً درستش کن… چون واقعاً سریع تایپ کردم.
موفق باشیم ../.
reza
نوع: دیدگاه
تاریخ: ۱ام آبان ۱۳۹۰ @ ۴:۴۵ ب.ظ
وحید جان خسته نباشی داداش
دمت گرم خدا قوت
ولی تجربه بنده میگه ارسال مطالبی اینچنین ریز و البته کار درست خواننده هایی رو که اطلاعات کمی دارن یه کمی سر در گم میکنه
به نظر من البته اگر مثلاً ساده تر با کدهای کامنت بازی میکردی بهتر بود مثلاً میگفتی این کد کلاس یا آی در جدید به کامنت این ایمیل خاص میده که میتونین ایمیل ادمین رو وارد کنید
البته کارت درسته شک نکن
خسته نباشی داداش
پوریا
نوع: دیدگاه
تاریخ: ۲ام آبان ۱۳۹۰ @ ۲:۳۳ ب.ظ
سلام وحید جان
آموزش خیلی عالیی بود
حتما تو قالب جدید سایتم ازش استفاده میکنم 
موفق باشی
وحید دربانی
نوع: دیدگاه
تاریخ: ۳ام آبان ۱۳۹۰ @ ۱۲:۱۶ ق.ظ
درود؛
لطف داری پوریا جان، حتماً استفاده کن، چیز جالبی از آب در میاد
شاد باشی دوست من
سعید
نوع: دیدگاه
تاریخ: ۳ام آبان ۱۳۹۰ @ ۱۲:۲۵ ق.ظ
اگه میشه لطف کنین بگین ما مبتدی ها هر کردوم از این کدها رو تو کدوم فایل قرار بدیم
وحید دربانی
نوع: دیدگاه
تاریخ: ۳ام آبان ۱۳۹۰ @ ۱۲:۲۷ ق.ظ
درود؛
سعید جان به جز کد استایل که آخرین بخش توضیح داده شده، بقیه داخل فایل comments.php که داخل پوستهتون قرار میگیره
reza
نوع: دیدگاه
تاریخ: ۳ام آبان ۱۳۹۰ @ ۵:۴۹ ب.ظ
وحید جان سلام
شما خیلی لطف داری
یه سوال کوچیک
تولتایپ ها رو با جی کوئری ساختی؟
راسیتش دوست ندارم زرتی بپرم توی سورسهای قالبت چون کار زشتیه
فقط بگو با جی کوئری ساختی و حجم فایلهای js رو بگو
نمیدونم چه مرگم شده میخوام یه قالب فوق سبک بسازم از جی کوئری هم استفاده نکنم تا اضافه بار نداشته باشه
پیشنهادت چیه؟
راستی چه رنگی به وبلاگ من میاد
میخوام یه قالب سبز درست کنم نظرت چیه؟
وحید دربانی
نوع: دیدگاه
تاریخ: ۳ام آبان ۱۳۹۰ @ ۹:۱۴ ب.ظ
درود؛
ممنون رضا جان، شما لطف داری نسبت به بنده، بله رضا جان، این مخلوطی از jQuery + CSS بوده، واقعاً ممنون، البته شما صحب اختیاری آقا رضا، در مورد حجمش راستش ۷۲ کیلوبایت رو همه
در مورد قالب بعید میدونم تو این دور و زمون بدون جیکوئری بشه ساخت
ولی قالب فوق سبک شدنیه… پیشنهاد صد در صد بلهست
در مورد رنگ، به نظر بنده، طبق روانشناسی رنگها، بیشتر رنگهای لایت به بلاگت میاد، من خودم شخصه کرم رو برای بلاگ شخصی دوست دارم… البته سبز هم ایدهی نوینیه… احتمالش زیاده که چیز خوبی بشه…
ایشالله که موفق باشی
reza
نوع: دیدگاه
تاریخ: ۴ام آبان ۱۳۹۰ @ ۱۲:۰۴ ق.ظ
ممنون میرم تو کارش
میگم داش وحید راستی شما پی اچ پی خوب بلدی؟
با فریم ورک ها کار میکنی یا اصلاً طرفشون نمیری
در مورد رنگ وبلاگم
چشم یه چیز کرم رنگ میسازم
جی کوئری هم یا استفاده نمیکنم یا اگه استفاده کنم خیلی استفاده میکنم 
راستی یه گلایه اون ۲۵ صدم رو هم میدادی نمیشد
وحید دربانی
نوع: دیدگاه
تاریخ: ۴ام آبان ۱۳۹۰ @ ۱۲:۳۵ ق.ظ
خواهش میکنم رضا جان، نه استاد، زیاد پیاچپی بلد نیستیم… 
در مورد بلاگ: امیدوارم که بتونی یه پوسته تکنیکی و ساده از آب دربیاری… البته مطمئنم که میتونی…
در مورد گلایه: راستش اون ۰٫۲۵ واسه این بود که تلاش بیشتر شه، اگه اونم باشه بیمزه میشه
Omid Sh
نوع: دیدگاه
تاریخ: ۴ام آبان ۱۳۹۰ @ ۱:۰۹ ب.ظ
سلام
آموزش مفیدیه. تشکر
وحید دربانی
نوع: دیدگاه
تاریخ: ۶ام آبان ۱۳۹۰ @ ۱۲:۴۱ ق.ظ
ممنون امید جان…
وحید دربانی
نوع: دیدگاه
تاریخ: ۶ام آبان ۱۳۹۰ @ ۱۲:۴۵ ق.ظ
@پاسخ رضا:
ولی تجربه بنده میگه ارسال مطالبی اینچنین ریز و البته کار درست خواننده هایی رو که اطلاعات کمی دارن یه کمی سر در گم میکنه… به نظر من البته اگر مثلاً ساده تر با کدهای کامنت بازی میکردی بهتر بود مثلاً میگفتی این کد کلاس یا آی در جدید به کامنت این ایمیل خاص میده که میتونین ایمیل ادمین رو وارد کنید
رضا جان؛ شرمنده، نمیدونم چرا اینقدر این کامنتو دیر دیدم، در مورد نکتهت راستش راه دیگهای نبود، البته بنده فکر نمیکردم زیاد این آموزش سنگین باشه، احتمالش زیاده که شما درست بگین. وای اگه شما راهی پیدا کردین ما خیلی خوشحال میشیم به ما هم یاد بدین… چون واقعاً راه دیگهای هم اگه ابداع بشه خوبه…
موفق و شاد باشید
reza
نوع: دیدگاه
تاریخ: ۱۷ام آبان ۱۳۹۰ @ ۱:۰۳ ق.ظ
داداش وحید
راه حل که خیلی ساده است
اگه توی فایل comments.php به جای زدن کدهای نظرات ، توی حلقه نظرات فقط از
استفاده کنی
بطور خودکار کلاس .comment میشه نظرات عادی ، .alt میشه نظرات عادی یکی در میون
.comment-author-admin میشه نظرات مدیر .pingback هم میشه پینگ
اینو توی قالب جدیدم رعایت کردم
بیا ببین
نظرات بد نشده
حله داداش؟
reza
نوع: دیدگاه
تاریخ: ۱۷ام آبان ۱۳۹۰ @ ۱:۰۵ ق.ظ
آخ ببخشید کدهارو مستقیم زدم وردپرس شناسایی کرد
منظورم اینه
ol class=”commentlist”
خودت این کدرو درست کن
لیست ol
بینشم تابع wp_list_comments
reza
نوع: دیدگاه
تاریخ: ۲۴ام آبان ۱۳۹۰ @ ۱۰:۴۰ ق.ظ
این روش رو کاملاً نوشتم و توضیح دادم
خواستی بیا بخون
http://www.rezaonline.net/blog/
reza
نوع: دیدگاه
تاریخ: ۲۵ام آبان ۱۳۹۰ @ ۷:۴۹ ب.ظ
تاکسی تراول مارت
نوع: دیدگاه
تاریخ: ۲۰ام اسفند ۱۳۹۰ @ ۱۰:۴۲ ب.ظ
روش جالبی بود
مرســـــــــــــــــــــی
آموزش وردپرس | گروه طراحی وسپا
نوع: پینگ
تاریخ: ۱۲ام اردیبهشت ۱۳۹۱ @ ۳:۵۹ ب.ظ
[...] متمایز کردن نظرات مدیران در وردپرس به روشی جدید [...]
تبلیغات متنی شما در اینجا
Saeed Fard
نوع: دیدگاه
تاریخ: ۱ام آبان ۱۳۹۰ @ ۱:۵۴ ب.ظ
درود ;

فوق العاده بود داداش وحیدم ، خیلی عالی و کامل بود ، مرسی ..
واقعا زحمت کشیدی واسش ، یه خسته نباشید جانانه
خیلی گلی وحید جان ..
موفق باشیم ../.