37 پست در این موضوع قرار دارد

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

دوستان بنده واسه سایت خبری که الان نزدیک به 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->cat_ID;
query_posts("cat=$category_id&meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=10&month=$month");

کار نمیکنه مشکل چی؟

به اشتراک گذاری این پست


لینک به پست

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


$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 روز اخیر حل نشد مشکلش چی؟

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

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

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

به اشتراک گذاری این پست


لینک به پست

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

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

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

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

به اشتراک گذاری این پست


لینک به پست

فعلا خیر

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

به اشتراک گذاری این پست


لینک به پست

فعلا خیر

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

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

گفتین کد دقیقی نیست برای پربازدید ترین مطالب 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");

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

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری