رفتن به مطلب

بازدید از هر مطلب


پست های پیشنهاد شده

سلام خسته نباشید

دوستان بنده واسه سایت خبری که الان نزدیک به 20000 مطلب داره

الان میخوام برای خبرهایی که از الان ارسال میکنم تعداد بازدید برای هر خبر نمایش بده

و هم بتونم پر بازدید ترین خبرها رو نمایش بدم

مهم : (ضمنا" اینکار بدون استفاده از هیچ افزونه ای میخوام !)

ضمنا" برای اینکار میشه از زمینه ها استفاده کرد که در زمان ارسال خبر زمینه ای ایجاد کنم و مقدارشو 0 بدم

و هر زمانی که صفحه نمایش متن کامل خبر باز میشه مقدار زمینه +1 بشه؟اگر شدنی بگین چطور میتونم اینکارو بکنم؟

نکته: برای نمایش پربازدید ترین خبرها هم میخوام از 50 تا خبر اخری 10 تا که بازدید بالایی داره نمایش بده نه کل دیتابیس بگرده که فشار زیادی به سرور میاره

ویرایش شده توسط aleas
لینک به ارسال

شما می تونی به من بگی فرق افزونه ای که اینکار را انجام می ده و کدهای همین افزونه که به شکل نادرست و ناقص ازش استخراج شده و تو سایتهای متعدد قرار گرفته چیه؟

من هرچی نگاه می کنم افزونه هم مناسب تره و هم سالم تر

منتظر باشید دوستان کدهایی که می خواهید را می فرمایند

لینک به ارسال

شما می تونی به من بگی فرق افزونه ای که اینکار را انجام می ده و کدهای همین افزونه که به شکل نادرست و ناقص ازش استخراج شده و تو سایتهای متعدد قرار گرفته چیه؟

من هرچی نگاه می کنم افزونه هم مناسب تره و هم سالم تر

منتظر باشید دوستان کدهایی که می خواهید را می فرمایند

بله حق با شما هسته افزونه ها استاندارد هستن شاید حتی کارهایی بهتراز اون چیزی ما میخواهیم انجام بدن !

بنده هم به بهتر بودن افزونه شک ندارم

ولی مدیریت سرور هم با هرگرونه نصب افزونه مخالفه ! شاید مدیریت سرور کم تجربه باشه ولی وقتی کاری که افزونه ها با تعداد خطوط برنامه نویسی زیادی انجام میده چرا خودمان با تعداد خطوط کمتری اون چیزی نیاز داریم ننویسیم؟

90 درصد افزونه ها خارجی ها نوشتن یعنی خودمان بدون افزونه نمی توانیم بنویسیم؟

بنده هیچ منظور بدی نداشتم فقط افزونه ها اون چیزی که تجربه بنده میگه شاید از نظر شما فشاری به سرور نیاره ولی خیلی افزونه ها از نظر بنده استاندارد نیسته و فشار به سرور میاره !

ببخشید اشکال نداره سوال در همین تاپیک بپرسم؟

لینکی دادین کوئری پربازدیدترین مطلب اینه

که کلیه خبر های موجود برسی میکنه یعنی اگر 10000 خبر وجود داشته باشه هر 10000 برسی میکنه 10 تا خبر پربازدید نمایش میده


<?php
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=10');
if (have_posts()) : while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile; endif;
wp_reset_query();
?>

این کد به چه شکل تغییر بدم که 10 خبر پربازدید از 50 خبر آخری نمایش بده؟(یعنی فقط 50 خبر اخری رو چک کنه)

لینک به ارسال

پارسا جان

لینک هایی دادی برسی کردم هیچکدوم به جواب درستی نرسیدن

هدف من از اینکه

این کد به چه شکل تغییر بدم که 10 خبر پربازدید از 50 خبر آخری نمایش بده؟(یعنی فقط 50 خبر اخری رو چک کنه)

میخوام کل بانک مورد شرط if قرار نگیره نمیدونم چطور توضیح بدم

به نظر خودتان تو کل بانک بگردین 10 خبر پربازدید پیدا کنید زمان بر و فشار زیادی به سرور میاره یا اینکه تو 50 تا خبر اخری بگردین پربازدید ترین خبرهارو نمایش بدین؟

میخوام به این شکل تقریبا باشه که برنامه از اخر میشماره مشخصات 50 تا پست اخری رو برداره(کاری به بقیه پست ها نداشته باشه) بعد تو این 50 پست 10 تا پست پر بازدید نمایش بده

ویرایش شده توسط aleas
لینک به ارسال

البته اگر این روشی بنده گفتم شدنی نیست روش زیر شدنی؟

توسط دستور زیر


query_posts("meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=10&year=$year&w=$week");

که مطالب امسال و هفته جاری رو نمایش میده کاری کرد در روز یا هر 12 ساعت فقط یک بار این دستور اجرا بشه

یعنی مثلا امروز اولین بار که این دستور اجرا شد


query_posts("meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=10&year=$year&w=$week");

چیزی که میخواهیم مشخصات ده خبر یعنی عنوان خبر- لینک خبر -خلاصه خبر -کد خبر -تاریخ ثبت خبر در جدولی از بانک ذخیره کنه دفعات بعد که کاربر مراجعه میکنه مشخصاتی که ذخیره کردیم به عنوان پربازدیدترین خبرهای هفته جاری نمایش بده و بر اساس بازه زمانی 24ساعت یا 12 ساعت یکبار این اطلاعات به روز بشه

ویرایش شده توسط aleas
لینک به ارسال

بله حق با شما هسته افزونه ها استاندارد هستن شاید حتی کارهایی بهتراز اون چیزی ما میخواهیم انجام بدن !

بنده هم به بهتر بودن افزونه شک ندارم

ولی مدیریت سرور هم با هرگرونه نصب افزونه مخالفه ! شاید مدیریت سرور کم تجربه باشه ولی وقتی کاری که افزونه ها با تعداد خطوط برنامه نویسی زیادی انجام میده چرا خودمان با تعداد خطوط کمتری اون چیزی نیاز داریم ننویسیم؟

90 درصد افزونه ها خارجی ها نوشتن یعنی خودمان بدون افزونه نمی توانیم بنویسیم؟

بنده هیچ منظور بدی نداشتم فقط افزونه ها اون چیزی که تجربه بنده میگه شاید از نظر شما فشاری به سرور نیاره ولی خیلی افزونه ها از نظر بنده استاندارد نیسته و فشار به سرور میاره !

ببخشید اشکال نداره سوال در همین تاپیک بپرسم؟

لینکی دادین کوئری پربازدیدترین مطلب اینه

که کلیه خبر های موجود برسی میکنه یعنی اگر 10000 خبر وجود داشته باشه هر 10000 برسی میکنه 10 تا خبر پربازدید نمایش میده


<?php
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=10');
if (have_posts()) : while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile; endif;
wp_reset_query();
?>

این کد به چه شکل تغییر بدم که 10 خبر پربازدید از 50 خبر آخری نمایش بده؟(یعنی فقط 50 خبر اخری رو چک کنه)

نکته

روش کار برای انتخاب پر بازدید کننده ها اینگونه نیست که در بین همه مطالب جستجو بشه

در موردی که شما مطرح کردید یک بار جدوبل دیتابیس بر اساس انتشار مطالب سورت خواهند شد و شماره یک تا 50 انتخاب می شود و یک بار 50 مورد انتخاب شده بر اساس تعداد بازدید و ده مورد اول انتخاب می شوند

در موردی که فرمودند یکبار جدول بر اساس بازدید سورت می شود و ده مورد اول انتخاب

در نتیجه روش دوم (روشی که فرمودند) از لحاظ سرعت بسیار سریعتر از روش اول است و روشی که شما گفتید خاصیتش برای سایتهایی است که نمی خواهند مطالب قدیمیشان زیاد مطرح شود

در کد اول می توانید یک شرط اضافه کنید که مثلا آی دی مطلب از آی دی آخرین مطلب منهای 200 نباید کوچکتر باشه که تقریبا می شه همون پنجاه مطلب

لینک به ارسال

استاد عزیز

درسته در کل هدف اصلی بنده پیدا کردن روشی که در بانک زیاد جستجو نشه قرار نباشه برای هر بازدید کنند که وارد میشه بین 1000 خبر جستجو بشه فرض کنین در یک روز 2000 نفر وارد سایت بشه

و برای هر 2000 نفر قرار باشه برای هر کدومشون 1000 خبر مورد جستجو قرار بگیرن قاعدتا" فشار زیادی به سرور میاره درسته که سیستم بانک اطلاعاتی خیلی پیچده تراز این حرفا هسته که تو بانک های با میلیاردها رکورد جستجو انجام میشه ولی خب خودمون هم باید سعی کنین بهینه ترین راه رو انتخاب کنیم

و هدف دوم بنده همین که خودتان گفتین برای یه سایت خبری خبر دو سه ماه پیش زیاد واسه کاربر جلب نیست حداکثر خبر هفته جاری مناسبه میخوام خبرای قدیمی زیاد روی کار نیاد

نمیدونم شاید بنده منظورمو بد گفتم

نکته: من فکر میکردم بانک همیشه بر اساس تاریخ انتشار مطلب سورت شده هسته

اگر این روشی بنده گفتم شدنی باشه دوستان بگن چطور اینکارو بکنم بنظرم که بهترین روش خواهد بود

لینک به ارسال

ضمنا" دوستان شرمنده اگر امکان داره به جز جواب سوال قبلی بنده رو میدین

بگین این کد به چه صورت تغییر بدم که 10 خبر پربازدید یک ماه اخیر(30 روز اخیر) دسته مورد نظر که کاربر انتخاب کرده نمایش بده؟


query_posts('cat=1&meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=10');

لینک به ارسال

بگین این کد به چه صورت تغییر بدم که 10 خبر پربازدید یک ماه اخیر(30 روز اخیر) دسته مورد نظر که کاربر انتخاب کرده نمایش بده؟

همون متدی که شما month رو در کوئری قرار میدید هس

لینک به ارسال

چرا تو این انجمن کامل جواب سوالی رو نمیدین !از خیر سوالات قبلی گذشتیم جواب این سوال حداقل کامل بدین

همون متدی که شما month رو در کوئری قرار میدید هس

منظورتون به این صورته؟


query_posts('cat=1&meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=10&month=$month');

خب حالا چکارش کنم کاربر رو هر دسته کلیک میکنه 10 خبر پر بازدید 30 روز گذشته همون دسته که کاربر کلیک کرده نمایش بده اگر به کد توجه کنید cat=1 است این یعنی همیشه دسته ای که id=1 در نظر میگیره

ویرایش شده توسط aleas
لینک به ارسال

چرا تو این انجمن کامل جواب سوالی رو نمیدین

!

شما کد رو دارید منهم خاصیت رو بهتون گفتم. کار سختی بود که جایگزین کنید؟!

منظورتون به این صورته؟

بله

خب حالا چکارش کنم کاربر رو هر دسته کلیک میکنه 10 خبر پر بازدید 30 روز گذشته همون دسته که کاربر کلیک کرده نمایش بده اگر به کد توجه کنید cat=1 است این یعنی همیشه دسته ای که id=1 در نظر میگیره

این رو تست کنید. آی دی دسته جاری رو میگیره و قرار میده:

$category = get_the_category();
$category_id = $category->cat_ID;
query_posts("cat=$category_id&meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=10&month=$month");

لینک به ارسال

ممنون چک میکنم الان این کد باید 10 خبر پربازدید 30 روز گذشته دست جاری نمایش بده درسته؟

اما در جواب شما دوست عزیز بنده قصد جسارت یا توهین به کسی نداشتم و منظورم فقط شخص شما هم نبوده کلی گفتم

نه جایگزین کردن کار سختی نیست ولی همینطور بگین از متد month استفاده کنم خب ورودی این متد چی معنی month یعنی ماه خب مقدار ورودی چی ماه جاری ماه گذشته و... بلخره میگین متد month یه راهنمایی کوچک هم بکنین همه ما که برنامه نویس بدنیا نیومدیم ! شما که بلخره از ما بیشتر بلدی راهنمایی میکنی ممنون دستتم در نکنه ولی راهنمایی کامل تری بکنین ممنون میشیم ;)

یا مثلا کسی از دوستان راجب این پست و این پست حتی راهنمایی کوچک هم نکرده

و یا تاپیک اسلایدشو به جواب درستی نرسید البته نگار صادقی زحمت کشیدن در حد توانشون جواب دادن ولی اون چیزی بنده میخواستم نبود

بازم میگم قصد جسارت ندارم به هیچ عنوان اصلا شما میتونین جواب بنده رو ندین ولی خب منم میگم شما که زحمت کشیدین با هزینه خودتون این سایت راه اندازی کردین حداقل در حد توانتون جواب کامل تری بدین ممنون میشم

البته بیشتر مشکلات پاسخ ندادن درست و کامل حتی به بعضی سوالات اصلا پاسخ داده نمیشه اینه که افراد خیلی کمی برنامه نویسی وردپرس در حد سطح بالا بلدن و کمتر کسی تجربیات خودشونو در اختیار دیگران قرار میدن به هر دلیلی

ویرایش شده توسط aleas
لینک به ارسال


نکته: من فکر میکردم بانک همیشه بر اساس تاریخ انتشار مطلب سورت شده هسته

وظیفه orderby سورت کردنه

لینک به ارسال

مشکل نمایش ندادن اخبار دسته جاری با این کد حل شد


$category = get_the_category();
$category_id= $category[0]->cat_ID;
query_posts("cat=$category_id&meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=9&month=$month");

ولی پربازدیدترین 30 روز اخیر حل نشد مشکلش چی؟

لینک به ارسال
ولی پربازدیدترین 30 روز اخیر حل نشد مشکلش چی؟

کلا کدی که همه دارن استفاده می کنن همین هست

اما از لحاظ منطقی این کد درست نیبست

برای شما کلا زمان و محدوده رو نادیده میگیره؟ درسته؟

لینک به ارسال

کلا کدی که همه دارن استفاده می کنن همین هست

اما از لحاظ منطقی این کد درست نیبست

برای شما کلا زمان و محدوده رو نادیده میگیره؟ درسته؟

بله همینطوره کلا زمان و محدوده رو نادیده میگیره ؟خب یعنی راه حل دیگری وجود نداره که از لحاظ منطقی هم درست باشه؟

لینک به ارسال
  • 2 هفته بعد...

فعلا خیر

راه حل درستی نداره

ببخشید بعد چند وقت !

گفتین کد دقیقی نیست برای پربازدید ترین مطالب 30 روز گذشته

برای هفته جاری هم چنین کدی نیست؟

و اینکه برای پربازدید ترین مطالب امروز هم اگر هست بگین

لینک به ارسال

بعید می دونم با یک کد بشه این ها را که می خواهید حساب کرد

قاعدتا باید بازدیدها رو در دیتابیس ذخیره کرد (به تفکیک خواسته شده ) و یک فانکشن برای تعاریفشون نوشت و با یک اکشن به قالب وصل کرد که اینکار مساوی نوشتن یک افزونه کامله

لینک به ارسال

با این اطلاعاتی که فرمودید می شه تعداد بازدید از هر پست را مشاهده کرد و تاریخ ها تاریخ انتشار پسته چیزی که کار شما نیاز داره یک جدول حاوی تاریخ 31 روز ماهه که برای هر پست تعداد بازدیدش در اون روز از ماه قید بشه و اونوقت بشه بخش از این جدول را جدا کرد و بالاترین تعدادش را حساب کرد

لینک به ارسال

وقتی با این کد بشه پربازدیدترین اخبار نمایش داد احتمالا بشه یه تغییری داد که پربازدید ترین اخبار ماه جاری یا هفته جاری یا امروز نمایش داد


$category = get_the_category();
$category_id= $category[0]->cat_ID;
query_posts("cat=$category_id&meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=9");

شما مطمن هستین شدنی نیست؟

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...