در این بخش از آموزش وردپرس می خوام نحوه نمایش تعداد بازدید از مطالب وردپرس بدون افزونه رو قرار بدم , با یه کد خیلی ساده می تویند در کنار هر پست بخش تعداد بازدید از اون پست رو قرار بدید این یک روش خوب برای مشخص شدن مطالب پر بازدید هستش.
قبلا افزونه نمایش تعداد دفعات بازدید از پست رو قرار داده بودیم که نام افزونه wp post views بود و امکانات خوبی هم داشت می تونید پست مربوط به افزونه را مطالعه کنید و در صورت نیاز از افزونه استفاده کنید اما اگر به هر دلیلی نمی خواهید از افزونه استفاده کنید با ما هراه باشید.
تعداد بازدید از مطالب وردپرس بدون افزونه
برای این کار ابتدا کد زیر را به فایل Functions.php قالب اضافه کنید
function getPostViews($postID){ $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "بدون بازدید"; } return $count.' بازدید'; } // function to count views. function setPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } ?>
خوب بعدش باید به حلقه ی پست برید در فایل index.php و single.php اگر داخل فایل ایندکس نبود ممکن فایلی به نام content.php داشته باشید و کد حلقه ی پست در اون فایل باشه.
اطلاعات بیشتر : حلقه ی پست را پیدا کنید بستگی به کد نویسی قالب شما داره ممکن مثلا تاریخ نوشته وجود داشته باشه , دسته بندی ها و … در کنار این بخش ها باید کد زیر را هم برای نمایش تعداد بازدید از مطلب قرار بدید.
<?php setPostViews(get_the_ID()); ?><?php echo getPostViews(get_the_ID()); ?>
خوب خسته نباشید کار تمومه می تونید نتیجه کار رو ببینید , یه بخش دیگه هم در قسمت مدیریت وردپرس می تونید یه باکس ایجاد کنید برای نمایش بازدید ها که فقط مدیر می تونه مشاهده کنه برای این کار هم کد زیر را در فایل Functions.php قرار بدید.
add_filter('manage_posts_columns', 'posts_column_views'); add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2); function posts_column_views($defaults){ $defaults['post_views'] = __('بازدید'); return $defaults; } function posts_custom_column_views($column_name, $id){ if($column_name === 'post_views'){ echo getPostViews(get_the_ID()); } } ?>
حال به بخش مدیریت وردپرس برید ( بخش داشبورد ) و باکس ایجاد شده را مشاهده کنید.
امیدوارم مفید واقع بشه براتون …
با سلام
سایتتون رو در سرور انلاین اپلود بکنید و دوباره تست کنید و حتما اسکنش بکنید . فایلی که به آن اشاره شده هم نباید در سایتتون وجود داشته باشه مگر اینکه وردپرستون ویروسی شده باشه
با سلام و خسته نباشید. من فعلا از localhost استفاده می کنم. وقتی کارایی که گفتی رو انجام میدم این ارور رو میده :
FATAL ERROR: CALL TO UNDEFINED FUNCTION GET_THE_ID() IN C:\WAMP\WWW\SHOP\INDEX-MORE.PHP ON LINE 44
میگه تعریف نشده get_the_id .حالا مشکل از کجاست؟ ممنون میشم جواب بدین
سلام
در ابتدای کد یه <?php داره که فراموش کردین بذارین.
با تشکر از سایت خوبتون
سلام تو هدر رو یا پاک کن یا یه آدرس بده بهش
خوب باید کش صفحات رو غیر فعال کنید یا کلا افزونه رو غیر فعال کنید چون با کش شدن صفحه دیگه صفحه دوباره لود نمیشه
سلام
من خیلی وقته از این کد استفاده میکنم فقط یه مشکلی هست :
وقتی افزونه کش روی وردپرس نصب میکنم، عملکرد این کد دچار اختلال میشه و دیگه درست شمارش نمیکنه!!
یه جورایی مثل اینکه پست یکبار که باز میشه، کش میشه و دیگه روی همون عدد می مونه تا یه مدت هرچندبارم کاربر پست رو ببینه اون عدد تغییر نمیکنه!!
الان افزونه ی W3 Total Cache نصبه و این مشکل وجود داره بازدید پست ها از 1 یا 2 بالاتر نمیره!
این مشکل برای چیه؟؟ نمیشه رفعش کرد؟
داخل حلقه مطالب قرار بدید باید یکی نمایش داده بشه
با سلام من از این کد استفاده کردم ولی هر بار سایت رو رفرش می کنم عوض 1 بازدید ، 2 تا بازدید اضافه میشه مشکل از کجاست ؟؟؟ کد ها رو هم بعد از حلقه گذاشتم؟؟
تشکر خیلی عالی و کاربردی بود
ندیدم
سلام
افزونه ای می خوام که تعداد بازدید هر پست رو برای هر ip در روز فقط یه بار شمارش کنه
شما کد رو فقط به فایل single.php اضافه کردید برای بخش های مختلف باید فایل های مختلف رو ویرایش و کد رو داخلشون قرار بدید.
بهترین حالت همین جوری هست که الان قرار دادید
سلام
خسته نباشید
با تشکر از سایت خوبتون. من از سایت شما خیلی چیزها یاد گرفتم
خدا خیرتون بده. یه سوال هم داشتم:
ببخشید من نرم افزار POST VIEW رو نصب کردم. طبق اونچه باید می رفتم هم عمل کردم ولی تعداد بازدیدها فقط داخل پستها نمایش داده میشه. من می خوام توی صفحه اصلی و آرشیو هم کنار عنوان تعداد بازدید نمایش داده بشه. آدرس سایتم رو هم گذاشتم. ممنون میشم بفرمایید چه کنم
فرصت بشه آموزشش رو تو سایت میزارم
امکانش هست یه توضیحی در موردش بدید لطفا
یا اینکه یه پستی معرفی کنید که انجام بدم.
ممنون
این کد با کلیک کار می کنه این امکانی که شما میگید باید از روی آی پی بشاسه که بحثش جداست
سلام و درود و سپاس
جناب قربانی این کار میکنه اما هر کلیک که میزنی یه بازدید اضافه میشه.
این غیر واقعیه.
آیا همچین دستوراتی هست که آمار واقعی رو نشون بده؟
ممنون
خوب به فایل single.php اضافه کنید .
سلام
این کد درست نیست یا من درسا استفاده نمی کنم چرا که در اصل باید در سینگل باشه اما من می خوام در ایندکس تعداد فقط چاپ بشه
چون اگه اینجوری نباشه با یک رفرش 1 بار بازدید روی کل مطالب موجود در صفحه ایندکس اضافه میشه
کمک لطفا
عالی بود خیلی ممنون بابت وقتی که قرار دادید
پوشه includes فایل post-meta.php کد زیر رو بردارید
سلام
تو قالب صحیفه بالای هر پست تعداد بازدید رو میزنه
چجوری اونو حذف کنم؟
مشکلمو خودم پیدا کردم
ببینید دوستان
اگر کد رو کامل در فایل index قرار بدین به کل صفحات یه واحد اضافه می کنه و این طوری غله
پس راه حل
قرار دادن فقط کد تو اندکش و قرار دادن کد کامل بالایی تو صفحه single که موجب میشه یک واحد به تعداد بازدید صفحه اضافه شه
تا بعد دوستان
سلام
چرا هر بار که به صفحه ی اصلی سایت میرم آخرین مطلبی که وارد کردم یه واحد به تعداد بازدید کنندش اضافه میشه
از همین کدای شما استفاده کردم و کامل کار میکنه فقط مشکل همینه که بالا ذکر کردم؟؟؟؟
چرا میشه ولی این کد این قابلیت رو نداره , یعنی قانونش اینه دفعات بازدید از اون پست رو نمایش میده
سلام
نمیشه یه جور پیشرفته تر درستش کنید که برای هر IP فقط یه بار برای هر پست شمارش بشه. این کدی که شما دادین با هر بار رفرش صفحه یکی به آمار اضافه میکنه
مثلا مثل این نظرسنجی ها که فقط یه بار (در ماه/ سال / روز / …) میشه نظر داد .
ممنون
این لینک رو ببنید
http://bigtheme.ir/?p=1578
میرم تو همون قسمت بالا نوشته پشتیبانی نمیکند از فهرست ها
اصلا برگه ی جدیدم درست میکنم و توش مینویسم انجمن و لینکو وارد میکنم وقتی روش لیک میکنم صفحه رفرش میشه و وارد انجمن نمیشه !
اگه بخوام ابزارکی اضافه کنم که توش بنویسه لینک دوستان چیکار باید بکنم ؟اسم سایتای دیگه رو بنویسم و لینکشو وارد کنم .تبلیغات متنی یعنی.
می خواید لینک رو تو منوها قرار بدید ؟ قالب از فهرست های وردپرس پشتیبانی می کنه ؟ اگه اره تو از قسمت ( مدیریت وردپرس/ نمایش / فهرست ها ) تو قسمت پیوند نام و لینک رو قرار بدید و به منو اضافش کنید.
اگه قالب از فهرست ها پشتیبانی نمی کنه باید قسمت منوها داخل فایل header.php باشه , اونایی که نوشته ( خانه / تماس با ما ) , یه گزینه دیگه اضافه کنید به نام انجمن لینکش رو قرار بدید.
ی کمک دیگه
میخوام ی برگه ی جدید درس کنم.به اسم انجمن.که روش کلیک میکنی صفحه جدید باز نشه مستقیم بره تو انجمن.باید چیکار کنم ؟؟اخه هر کاری میکنم فک نکنم بشه عنوانو لینک دار کرد
متاسفانه همچین قالب هایی سراغ ندارم
الان ی دونس دیگه.
تا صد تا هم میرسه گاهی
من چیزی پاک نمیکنم اصلا.
مطلب میزارم و تمام.میشه شما چند تا قالب خوب معرفی کتید ؟
خطایی که مشخص کرده شاید از سایت حذف شده باشه یا … , بررسی کنید.
8pic.ir/images/57444659041891690731.jpg
این عکسو ببینید..از اول نصب بود..نمیشه غیر فعال کنم ک مربوط به سئو اخه..
افزونه ای که نصب کرده بودید رو غیر فعال کنید , از چه افزونه ای استفاده می کنید یعنی این خطا ها کجا نمایش داده میشه ؟
سلام من درست کردم اون قسمتو مشکلم حل شد.
ولی بجای بازدید نوشته view
چجوری فارسیش کنم
ی سوال دیگه اینکه من تو قسمت seo گزینه ی monitor404 برام هی ارور میاد
لینک مینویسه برام که روشون کلیک میکنم مینویسه موضوع یافت نشد.میتونید کمک کنید
یه کم به کدها توجه کنید اون تاریخ نوشته و نویسنده هر کدوم تو یه div قرار دارن با کلاس مخصوص که داخل استایل براش استایل نوشته شده مثلا ایکون مخصوص خودشون و فاصله ها و… کمی به کدها توجه کنید می تونید شبیه اونها براش استایل بنویسید.
8pic.ir/images/32192598420829729429.jpg
8pic.ir/images/72768393017615922806.jpg
الان این دو عکسو ببینید.از کنار ویرایش برداشتمش درس شد دیده میشه توسط بقیه
اما جاش خوب نیس.میخوام قبل از تاریخ ارسال مطلب باشه..میره بین عکس و تاریخ ارسال..
<img src="/images/PostDateIcon.png” width=”17″ height=”18″ alt=”” />
<img src="/images/PostAuthorIcon.png” width=”14″ height=”14″ alt=”” />
:
ID)): ?><img src="/images/PostEditIcon.png” width=”14″ height=”14″ alt=”” />
این کد اون قسمته..کادر مطلب.کجا بزارم تا درست بشه ؟
خب من گذاشتم اینجا تا داخل کادر ابی رنگی که بالای مطالب تاریخ ارسال و اینارو نمایش میده باشه.جای دیگه گذاشتنی بیرون از کادر میفته
100 در صد همین طور بوده , شما داخل لینک ویرایش قرار دادید که فقط برای مدیر اونم وقتی وارد مدیریت میشه قابل نمایش هست.
کدی که باعث نمایش مطالب میشه ( در فایل index.php و single.php ) , کد مربوط به اون تاریخ و نوشته رو که در بالای پست ها قرار داره پیدا کنید در کنار اون ها قرار بدید.
این کدو توی فایلا گذاشتم
گذاشتم کنار ویرایش
نکنه بخاطر اونه ؟؟یعنی کدای اون روش تایرگذاشته و باعث میشه عین ویرایش برای من نشون داده بشه ؟
خوب بعدش باید به حلقه ی پست برید
حلقه یعنی چی؟کد دومو که ی خطه باید بعد از چی قرار بدیم ؟؟
چه کدی داخل قالب استفاده کردید ؟ کد رو قرار بدید
همین پلاگینی که نام بردین
چرا وقتی با مرورگر دیگه هستم نشون نمیده
باید حتما داخل پنل باشم تا نشون داده بشه
سلام , از چه افزونه ای استفاده می کنید ؟
ممکن نیست برای شما دیده بشه و برای دیگران دیده نشه , می تونید با کد این افزونه بخش تعداد بازدید رو اضافه کنید.
سلام
من از افزونه استفاده میکنم ولی فقط برای من نمایش داده میشه
باید چیکار کنم ؟؟تنظیماتم نداره پلاگین.مربوط به کداشه فک کنم.