آموزش ساخت جعبه جادویی اشتراک در وردپرس
۹ ۰۲ ۱۳۸۸جعبه جادویی اشتراک زنگوله را حتمآ زیر هر پست دیده اید. فکر می کنم حدود هشت – نه ماه پیش برای تسهیل مراحل مشترک شدن درستش کردم که انصافآ هم تاثیر خوبی روی وبلاگ داشته. خوشبختانه دیدم که چند تا وبلاگ دیگه هم از همین طرح استفاده کردند و قید تصاویر و نوشته هایی که به صورت دستی به آخر هر پست اضافه می کردند را زدند! البته جعبه اشتراک زنگوله از تکنولوژی ویژه ای برخوردار است که گمان نکنم در وبلاگ دیگه ای به کار گرفته شده باشه. :))
امکان تغییر متن داخل جعبه به راحتی و نسبت به محتوای هر پست!
مثلآ در پست «می خوای وقتی ایمیل برات میاد یک چراغ واقعی روی میزت چشمک بزنه؟» متن جعبه را به صورت زیر تنظیم کردم:

متنی که می بینید با محتوای پست که شامل یک برنامه مخصوص برای روشن کردن یک چراغ واقعی توسط کامپیوتر هنگام دریافت ایمیل است همخوانی بسیار خوبی دارد و مخصوصآ چون قید کرده ام که برنامه را خودم نوشته ام مخاطب می داند که نسخه جدید جای دیگری پیدا نخواهد شد پس اگر به مطلب علاقه مند باشد ترجیح می دهد زحمت وارد کردن ایمیل و کلیک کردن روی دکمه اشتراک را به خودش بدهد بلکه شاید در آینده نسخه جدید به کارش بیاید و این باعث افزایش چشمگیر تعداد مشترکان وبلاگ می شود.
برخی از مثال های دیگر متن دلخواه برای جعبه اشتراک را می توانید در پست های زیر ببینید:
- داستان یک «مشترک گرامی و یک سو تفاهم بامزه!»
- هشت سوالی که باید قبل از انتشار هر پست از خودتان بپرسید
- نهایت امنیت وردپرس با 15 ترفند امنیتی
دوستان زیادی از اون موقع تا الان با من تماس گرفتند و درخواست کردند آموزش ساخت این جعبه را به آنها بدهم ، جواب همگی را از طریق ایمیل تا جایی که در توانم بود دادم اما خوب یقینآ جواب های ایمیلی به اندازه یک پست وبلاگی کامل به درد بخور نیست. پس همانطور که به دوستان از طریق ایمیل هم قول دادم آموزش کامل و دقیق ساخت آن را منتشر کردم که همه از آن استفاده کنند.
حالا اگر تصمیم خودتان را برای ساختن یک جعبه اشتراک جادویی گرفته اید ادامه پست را با دقت دنبال کنید:
* متاسفانه انجام این ترفند برای کاربران wordpress.com که امکان تغییر کد پوسته را ندارند ممکن نیست.
* آشنایی ابتدایی با HTML و PHP به شدت توصیه می شود.
اولین کاری که باید بکنید دستکاری کد فایل single.php قالب وبلاگ تان است ، باید قسمتی که می خواهید جعبه را قرار دهید پیدا کنید. مثلآ من از قالب freshy استفاده می کنم و می خواهم جعبه را زیر لینک به مطلب قبلی و بعدی قرار دهم. پس با دیدن کد فایل single.php می فهمم که قسمتی که من باهاش کار دارم زیر این خطوط است:
<p class="navigation">
<span class="alignleft"><?php previous_post_link('« %link') ?></span>
<span class="alignright"><?php next_post_link('%link »') ?></span>
</p>
خوب حالا جایی که باید کد خودمو اضافه کنمو پیدا کردم ، کد زیر را زیر کد های بالا اضافه می کنم:
<div style="direction:rtl; border: 1px solid rgb(230, 219, 85); padding: 5px; margin-top: 10px; background:transparent url(http://YOURSITE.COM/background.jpg) repeat; background-color: rgb(255, 251, 204); font-size:16px; font-family:'Times New Roman';">
<?php
$subtext=get_post_meta($post->ID, "subtext", true);
if ($subtext<>null)
{
echo "<b>".get_post_meta($post->ID, "subtext", true)."</b>";
echo "<form action=\"http://www.feedburner.com/fb/a/emailverify\" method=\"post\" target=\"popupwindow\" onsubmit=\"window.open('http://www.feedburner.com/fb/a/emailverifySubmit?feedId=YOUR-FEEDBURNER-NUMBER', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true\">
<img style='border:0px;' align=right src=http://YOURSITE.COM/email.gif><font size=2 face=tahoma>به وسیلهی ایمیل:</font></img>
<br>
<input type=\"text\" style='width:190px;' name=\"email\" /> <input type=\"submit\" value='مشترک کن مرا' />
<input type=\"hidden\" value=\"http://feeds.feedburner.com/~e?ffid=YOUR-FEEDBURNER-NUMBER\" name=\"url\" />
<input type=\"hidden\" value=\"TITLE-HERE\" name=\"title\" />
<input type=\"hidden\" name=\"loc\" value=\"en_US\" />
<br><font face=Tahoma size=2px>ایمیل شما نزد ما محفوظ و اشتراک تان هر لحظه با یک کلیک قابل انصراف است.</font></form>
<br><a href=http://feeds.feedburner.com/zangoole><img style=border:0px; align=right src=http://YOURSITE.COM/rss.png></a><b>
یا به وسیلهی<a href=http://feeds.feedburner.com/YOUR-FEEDBURNER-ID> فـیـد (خوراک)</a></b></div>";
}
else
{
echo "<b>مشترک سایت من شوید تا حتی یک مطلب را هم از دست ندهید!</b>";
echo "<form action=\"http://www.feedburner.com/fb/a/emailverify\" method=\"post\" target=\"popupwindow\" onsubmit=\"window.open('http://www.feedburner.com/fb/a/emailverifySubmit?feedId=YOUR-FEED-NUMBER', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true\">
<img style='border:0px;' align=right src=http://YOURSITE.COM/email.gif><font size=2 face=tahoma>به وسیلهی ایمیل:</font></img>
<br>
<input type=\"text\" style='width:190px;' name=\"email\" /> <input type=\"submit\" value='مشترک کن مرا' />
<input type=\"hidden\" value=\"http://feeds.feedburner.com/~e?ffid=YOUR-FEEDBURNER-NUMBER\" name=\"url\" />
<input type=\"hidden\" value=\"TITLE-HERE\" name=\"title\" />
<input type=\"hidden\" name=\"loc\" value=\"en_US\" />
<br><font face=Tahoma size=2px>ایمیل شما نزد ما محفوظ و اشتراک تان هر لحظه با یک کلیک قابل انصراف است.</font></form>
<br><a href=http://feeds.feedburner.com/YOUR-FEEDBURNER-ID><img style=border:0px; align=right src=http://YOURSITE.COM/rss.png></a><b>
یا به وسیلهی<a href=http://feeds.feedburner.com/YOUR-FEEDBURNER-ID> فـیـد (خوراک)</a></b></div>";
}
?>
بدیهی است که مقدار های زیر را باید نسبت به فید برنر و سایت خودتان تغییر دهید:
YOUR-FEEDBURNER-ID
TITLE-HERE
YOUR-FEEDBURNER-NUMBER
YOURSITE.COM
کد بالا چطوری کار می کنه؟
اگر با php و html آشنا باشید که یقینآ تا الان دوزاری تان افتاده. حالا به طور خلاصه نحوه کارکرد کد بالا را برای دوستان گرامی مبتدی تر توضیح میدم که هم یک جعبه قشنگ اشتراک داشته باشید هم بدانید که چطور کار می کند.
کد بالا با کمک قابلیتی در وردپرس نوشته شده به نام «زمینه های دلخواه» یا Custom Fields ، آموزش های کامل مربوط به آن را می توانید در وبلاگ گناهکار بخوانید.
کد ما میاد اول قیافه جعبه را تعریف می کنه که رنگش چطوری باشه عکس هاش کجا باشن و این جور چیزا… بعد میاد یک زمینه دلخواه تعریف می کنه میگه اگر زمینه دلخواه subtext تنظیم شده بود متنی که نویسنده نوشته را در جعبه نشون بده ، اگر subtext تنظیم نشده بود متن ثابت که همان «مشترک زنگوله شوید تا حتی یک پست را هم از دست ندهید!» است نشان داده شود.
با این حساب اگر شما دوست نداشته باشید متن خاصی بنویسید لازم نیست کار اضافه ای بکنید ولی اگر بخواهید متن خاصی بنویسید از قسمت زمینه های دلخواه (زیر قسمتی که پست را می نویسید) یک زمینه دلخواه با نام subtext تعریف می کنید و متنی که می خواهید بنویسید در قسمت «مقدار» وارد می کنید. مثلآ تصویر زیر را ببینید:

اصل کد همینه و بقیش فقط اندازه و جای دکمه و تکست باکس و کد فیدبرنر برای اشتراک ایمیلی است.
می توانید ابتکار بزنید و در قسمت «مقدار» کمی کد html قاطی کنید و از تصاویر هم استفاده کنید.

ابتکار حد و مرزی ندارد!
بله ، واقعآ ندارد! می توانیم با استفاده از افزونه Feed Count اگر تعداد مشترکین فیدی خوبی دارید آن را به نمایش بگذارید تا دیگران را ترغیب کنید که مشترک وبلاگ تان شوند.
اول وارد اکانت فید برنر تان شده و از قسمت Publicize گزینه Awareness API را فعال کنید.

حالا افزونه Feed Count را نصب و فعال کنید و از قسمت تنظیمات > feed count تنظیمات آن را درست کنید.
حالا باید کد فایل feedcount.php را کمی دستکاری کنید تا همانطور که می خواهید عمل کند. متاسفانه امکان این که من مرحله به مرحله آنها را نشان بدهم وجود ندارد چون هر کس می تواند به روش خودش کد را ویرایش کند.
برای مثال من کد را دستکاری کردم که اگر تعداد مشترکین بیش از 4400 بود و من در زمینه دلخواه subtext نوشته بودم feed ، متن «شما هم به جمع xxxx مشترک زنگوله بپیوندید!» نمایش داده شود که به جای x ها تعداد مشترکین به طور خودکار جایگزین می شود و شرط اول (بزرگتر بودن از 4400) از نمایان شدن این متن در شرایطی که تعداد مشترکین افت ناگهانی می کند یا حتی صفر می شود جلوگیری می کند.
و تعریف کرده ام که اگر تعداد مشترکین کمتر از 4400 بود (یعنی یک مشکلی پیش اومده…) همان متن «مشترک زنگوله شوید تا حتی یک مطلب را هم از دست ندهید!» نمایش داده شود.
نتیجه را ببینید:

این است انعطاف پذیری و قدرت وردپرس!

















خوب بود خسته نباشی من بیشتر از فید استفاده میکنم
پاسخ به این نظر
ممنونم.
پاسخ به این نظر
ممنون بابک جان
بابت ایمیل های امروز هم دستت درد نکنه :)
بنابراین نکتش:
subtext
بود اگر من به اون کدی که برات میل کرده بودم فقط بخوام همین نکته رو اضافه کنم فقط باید :
ID, “subtext”, true);
if ($subtextnull)
{
echo ““.get_post_meta($post->ID, “subtext”, true).”“;
<؟
رو اضافه کنم به اون کد؟ چون وقتی همین رو به اون کدهان اضافه می کنم به عنوان کد نمیشناسه و دقیقا این ۴ خط دستور رو مثل نوشته نمایش میده
پاسخ به این نظر
خواهش می کنم علیرضا جان.
آره اصل نکته اونه ، راستش من پیشنهاد می کنم یک بار از اول از روی همین آموزش برو جلو.
اینکه به عنوان کد نمیشناسه یکم مشکل داره ، داری یه جایی اشتباه می کنی…
یه بار از همین آموزش بری جلو فک کنم حل شه مشکل. ;)
پاسخ به این نظر
aa belakhare ino ro kard :D aval sabtesh mikardi bad yad midadi :P
پاسخ به این نظر
D-: مخلصم.
پاسخ به این نظر
بسیار عالی بود بابک جان :) از این پانوشتت خیلی خوشم میومد.ممنون که برای استفاده بقیه به اشتراک گذاشتیش.راستی چرا ظاهر وبلاگت یه کم به هم ریخته؟اون نوار سیاه که روی منوی بالای قالب روی منو میافته چیه؟چندبار رفرش کردم و بازهم همینطوری بود
پاسخ به این نظر
ممنون محمود جان. راستش نمی دونم. بهت ایمیل می زنم جزییات رو برام بگو ببینیم مشکل از کجاست….
پاسخ به این نظر
خیلی جالب بود بابک جان ! موفق باشی .
پاسخ به این نظر
بسیار عالی! لذت میببرم از شیرینگ!
پاسخ به این نظر
ممنون. آره انصافآ شیرینگ رو هستم… :دی
باید همه مون به همدیگه چیزایی که بلدیمو یاد بدیم که این طوری پیشرفت کنیم…
پاسخ به این نظر
بابک چان ظاهرا دیگه اون مشکل رو نداره.الان همه چیز درسته.نمیدونم شاید مشکل از فایرفاکس من بود اون روز که قاطی کرده بود :)
پاسخ به این نظر
;-) بسیار عالی. ممنون از اطلاع رسانی محمود جان.
پاسخ به این نظر
آموزش ساخت جعبه جادویی اشتراک در وردپرس …
جعبه جادویی اشتراک زنگوله را حتمآ زیر هر پست دیده اید. فکر می کنم حدود هشت – نه ماه پیش برای تسهیل مراحل مشترک شدن درستش کردم که انصافآ هم تاث…
سلام …
آقا بابک جون آموزش فوق العاده به درد بخوری دادی…
اما متاسفانه من یه مشکل با فید برنر دارم…
اونم اینه که وقتی فید سایت روبهش می دم پیغام:
The URL does not appear to reference a valid XML file. We encountered the following problem: Error on line 925: XML document structures must start and end within the same entity.
میده!!!
آدرس فیدم :http://www.shirinak.com/feed هست…
لطفا راهنماییم کن اگه جوابم رو میل بزنی خیلی عالی میشه…
پاسخ به این نظر
سلام بهروز جان. فهمیدم مشکل شما چیه. پلاگین را ادیت کنید و خط را با خط زیر عوضی کنید:
‘map_fc_queryurl’ =>’https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=’,
جواب را برات ایمیل هم کردم. قربانت.
پاسخ به این نظر
سلام…
مشکل من با فیدبرن هستش…
فید سایتم رو که بهش دادم پیغام رو داد…
منظورتون از پلاگین کد بالاست؟
یا پلاگین دیگه ای مد نظرتونه؟
پاسخ به این نظر
سلام دوست عزیز
بابت این آموزشتون ممنونم .
در کل وب جالب و مفیدی دارید .
با تشکر
پاسخ به این نظر
سلام. ممنون.
پاسخ به این نظر
آقا سلام
قبل از هرچیز معذرت می خواهم چون جای این پست اینجا نیست
چندروز قبل برای لاگین کردن به وبلاگم در فایرفاکس نتوانستم ( ضمن اینکه از طریق ویندو لایو چند ماهی است که نمی شود ) به ie پناه بردم در آنجا توانستم اما با سرعت کم ولی از دیروز همان مشکل برای ie پیدا شد و الان نمی توانم از هیچ کدام لاگین کنم . علت چیست .؟
پاسخ به این نظر
جالب بود واسه دفعه ی بعد یه سری پلاگین واسه وردپرس معرفی کن که خودت هم استفاده میکنی : )
پاسخ به این نظر
چشم ;)
پاسخ به این نظر
مخلصیم بابک جان. مثل همیشه مفید و لذت بخش بود برادر
پاسخ به این نظر
ممنونم محمد جان. خوشحالم که به دردت خورده.
پاسخ به این نظر
سلام آقا بابک.
ممنون از این آموزشی که گذاشتید. هرچند بیشتر بخاطر ایدهاش بود که جذابیت داشت والا چیز پیچیده ای نبود. راستش من تا قبل از این زیاد در مورد کارایی زمینه های دلخواه اطلاعات نداشتم اما حالا میبینم که واقعا ویژگی کاربردیی هست.
ممنون. توی وبلاگ من هم فعال شد
پاسخ به این نظر
سلام خسته نباشید
کم پیش می اید من سوال فنی بپرسم ولی ۵ ساعت روش کار کردم نشد التماس دعا دارم بد جوری
مشکل اینه که من ایدی فید برنرم را نمی دونم و پیداش هم نمی کنم
فید من در قسمن میل به این صورت است
<form style=”border:1px solid #ccc;padding:3px;text-align:center;” action=”http://feedburner.google.com/fb/a/mailverify” method=”post” target=”popupwindow” onsubmit=”window.open(‘http://feedburner.google.com/fb/a/mailverify?uri=Irancall
خط اخر را ببینید من نمی تونم کد را پیدا کنم
کدی که من پیدا کردم اینه http://feedburner.google.com/fb/a/publicize?id=1pa3o8693jrv428qba3ntj05v0
که اگر این کد را جایگزین کنم
http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1pa3o8693jrv428qba3ntj05v0
این میشه که میل هم کار نمی کنه
می خواهم از کد پیش فرض خوده گوگل استفاده کنم باز اون هم کار نمی کنه تو این دستورات
التماس دعا دارم بد جوری
enigma2.king@gmail.com
که این هم کار نمی کنه
پاسخ به این نظر
سلام
از کدی که خود گوگل به شما میده اگر استفاده کنید مشکلی نباید داشته باشید.
یعنی به جای اونی که من نوشتم که feed id داره از همونی که uri داره و خودتون در صفحه فید برنر تون می بینید استفاده کنید.
فقط توجه کنید قبل از تمام علامت های ” (گیومه) (که در دستور echo پی اچ پی نوشته می شود) از علامت \ (بک اسلش) استفاده کنید.
پاسخ به این نظر
روش ساده تر و قبل فهم تری برای ساخت جعبه اشتراک وجود نداره؟چون من آشنایی ابتدایی با PHP و HTML ندارم.متنش هم ثابت باشه برام فرقی نمی کنه.
اگه میشه در این زمینه راهنمایی کنید…
پاسخ به این نظر
ببخشید،متنی که نوشتم اشتباه املایی داشت.باید می نوشتم”روش ساده تر و قابل فهم تری…”که بدین وسیله اصلاح میکنم.
پاسخ به این نظر
متاسفانه به طور کلی باید بگم نه ،
من می خواستم برای این جعبه جادویی اشتراک یک افزونه منتشر کنم که کار را تقریبآ کاملآ اتوماتیک می کند اما متاسفانه خیلی گرفتارم و نشد…
پاسخ به این نظر
افزونه ای وجود نداره که این کار رو(ساخت جعبه اشتراک) به صورت اتوماتیک انجام بده؟نیازی هم نیست که تا این حد مانند جعبه اشتراک شما پیشرفته و جادویی باشد…کار من و شاید خیلی از وبلاگ نویسان دیگر با متن های ثابت در جعبه اشتراک هم راه می افتد…
پاسخ به این نظر
نه ، خودم می خواستم درست کنم اما وقت نکردم متاسفانه.
پاسخ به این نظر
برای جوملا ۱٫۵ هم میشه از این استفاده کرد ؟
اگر نمیشه من که اینو میخوام چی کار کنم ؟!!
پاسخ به این نظر
سلام سایت بسیار جالبی دارین حاضرین با سایت ما تبادل لینک کنید؟
پاسخ به این نظر
سلام ، بسیار متشکرم ، استفاده کردم ولی قسمت فیدکانت را متوجه نشدم…خیلی دوست داشتم تعداد مشترکین هم نمایش داده شود …اگر وقت کردید راجع به این موضوع بیشتر توضیح بدید…ممنون و متشکر
پاسخ به این نظر
بابک جان سلام من چند روز با این نوشته کلنجار رفتم و نتوستم در آخر از بعضی کدها که داده بودی استفاده حیاتی کردم ممنون.مثل پیام به دیدگاها و قسمتی هم به مشترکین خبر نامه به هر حال ممنون
مثال: http://www.dorf.ir/?p=981
:D
پاسخ به این نظر
درف عزیز من جعبه ای که ساختی را تونستم ببینم و قشنگ هم هست و درست دیده میشه.
اگر مشکلی بود خوشحال می شم کمک کنم.
پاسخ به این نظر
سلام بابک جان من تا الان فیدبرنر نداشتم امروز ازمایشی ساختم که سه مرحله داشت
مرحله اول را پاس کردم و دو مرحله دیگر را چون متوجه نشدم بی خیال شدم البته آدرس خوراکم را خروجی اراس اس دادم اگر زحمتی نیست محبت کنید به اختصار این سه مرحله را توضیح دهید و
نحوه مشترکین با ایمیل و در ضمن آیا با یک حساب کاربری وِیژه برای سایت ثبت کنم یا با همان اکانت
گمیل کدام مناسبتر است .چون من میخوام فیدم را پاک کنم واساسی بسازم!
پاسخ به این نظر
حیف … ای کاش wordpress.com هم میشد . یعنی هیچ راهی نداره ؟
پاسخ به این نظر
متاسفانه نه.
پاسخ به این نظر