pirooz

كد براي نمايش آخرين نويسنده‌هاي سايت در صفحه اصلي

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

با سلام

من احتياج به كدي دارم كه با اون يك اسلايدر ايجاد كنم با اين شرط كه نام نويسنده‌ي آخرين مطلب ارسال شده در سايت به اضافه لينك 3 تا پست از همون نويسنده را نمايش دهد. بعد از اون نويسنده مطلب بعدي را و همين‌طور تا آخر... تمام نويسنده‌ها را فهرست كند.

در ضمن اين كد تحت تأثير پيجينگ صفحه قرار نگيرد. يعني اگر به صفحه دوم رفتيم، مجدداً همان نويسنده‌اي را اول نمايش دهد كه در صفحه اول نمايش مي‌داد.

تا اونجايي كه از اين طرف و اون طرف خوندم، يك همچين چيزي قرار دادم:


<?php
$count_post = 0;
if (have_posts()) : while ($count_post < count(get_users('role=author'))) : the_post(); $count_post++ ;
?>
<ul>
<?php $recentposts = get_posts('numberposts=3&author='.get_the_author_ID() );
foreach ($recentposts as $post) : setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
<?php
endwhile;
wp_reset_query();
endif;
?>

اما اين كد چند تا اشكال داره:

1- نام نويسنده را نمي‌دونم چطور بايد توي اين ليست بيارم.

2- تحت تأثير پيجينگ صفحه قرار مي‌گيره و وقتي به صفحه دوم مي‌ريم، مقالات مربوط به نويسنده‌هاي صفحه دوم را فهرست مي‌كنه

3- با وجود اينكه كد ريست كوئري را در آخرش آوردم، اما پست‌ها را در صفحه اول نمايش نمي‌دهد.

با تشكر

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


لینک به پست

1 - نمایش نام با the_author

http://codex.wordpress.org/Function_Reference/the_author

2- تابع wp_reset_postdata و wp_reset_query را قبل از کوئری قرار دهید

3- دو تابع قبل را بعد از حلقه قرار دهید

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


لینک به پست

ميشه خواهش كنم كد را به صورت صحيح بازنويسي كنيد؟ خيلي متوجه نشدم.

با اين كدي كه نوشتم، كاربر ادمين را هم مياره و يكي از دسته‌ها هم بدون نام هست و يكي از نويسندگان هم دو بار تكرار ميشه. اين مشكل را بعد از اضافه كردن كد the_author متوجه شدم.

user1

  • This is a Test
  • Star Wars: The Clone Wars
  • Kicked In The Nuts World Record Holder

user8

  • Inkheart Movie
  • Funny Animation
  • 4th Goal Comedy Brisbane Roar v Perth Glory

user9

  • The Twilight Saga Eclipse Official Full Trailer (HD)
  • Funny Hugh Laurie & Stephen Fry comedy sketch! Your name, sir? – BBC comedy
  • The future for Paramotors

user10

  • Vanessa Hudgens Say Ok Music Video (Official with Zac Efron)
  • Star Wars: Retold (by someone who hasnt seen it)
  • FOOTBALL MADE IN AFRICA

user1

  • This is a Test
  • Star Wars: The Clone Wars
  • Kicked In The Nuts World Record Holder

user2

  • Transformers 2 Revenge of the Fallen Official Movie Trailer
  • Huge Rugby Hits!

admin

  • Selena Gomez & The Scene – Round & Round
  • Funny Video
  • Mr Bean – Teddy reads a book

user4

  • When I Look At You
  • COMEDY: Achmed The Dead Terrorist (ventriloquist)
  • Comedy Football

user6

  • Miley Cyrus – Cant Be Tamed
  • Ash Makes Fun Of Akshays Wig

  • This is a Test
  • Inkheart Movie
  • The Twilight Saga Eclipse Official Full Trailer (HD)

ویرایش شده در توسط pirooz

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


لینک به پست

مشكل ديگه اينه كه اگر يك نويسنده پستي نداشته باشه، به ازاي اون هم يك بار اين دسته‌ها درست مي‌شه فكر كنم اين قسمت را كه در بالا سبز كردم به خاطر همين باشه.

ولي نمي‌دونم ديگه چرا ادمين را ليست مي‌كنه اون كه رولش Administrator هست.؟!

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


لینک به پست

تابع get_the_author_ID که در کد استفاده می کنید از وردپرس 2.8 حذف شده. شاید چون خروجی نداره همه رول ها رو نمایش میده.

اگر هم تعداد مدیرها ثابت هست میتونید در تابع get_users اونها رو با خاصیت exclude نادیده بگیرید:

http://codex.wordpress.org/Function_Reference/get_users

در مورد اونهایی که پست ندارن باید قبل از foreach شرط بزارید که $recentposts مقداری داره یا خیر. یا اون رو count کنید و بعد foreach رو اجرا کنید.

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


لینک به پست

متشكرم از پاسختون

اما تعداد نويسنده‌ها ثابت نيستند. مي‌فرماييد چه كار كنم؟

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


لینک به پست

ضمناً مشكل پيجينگ صفحه و عدم نمايش پست‌ها حل نشده

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


لینک به پست

مسئله صفحه بندی را میتوانید با تابع wp_reset_postdata و wp_reset_query حل کنید

برای لیست نویسنده ها

http://codex.wordpress.org/Function_Reference/wp_list_authors

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


لینک به پست

متشكرم از پاسختون

اما تعداد نويسنده‌ها ثابت نيستند. مي‌فرماييد چه كار كنم؟

میتونید از طریق سلکت به دیتابیس رول های مدیریت رو پیدا و کاربران رو توی آرایه بریزید و بعد exclude کنید. فقط بحث نمایش ندادن مدیر هست درسته؟

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


لینک به پست

دوستان من حرفه‌ای نیستم و با این توضیحات نتونستنم کاری بکنم. متأسفانه با کدنویسی php و تابع‌های وردپرس آشنا نیستم.

به هر حال من این درخواست را در پونیشا به عنوان یک پروژه ثبت کردم. دوستانی که مایل هستند این کار را انجام دهند خواهش می‌کنم پیشنهادهای خودشون اینجا ارسال کنند.

متشکر می‌شم کمک کنید. مخصوصا از آقا مرتضی کمک می‌خوام.

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


لینک به پست

شما دقیقا موارد و مشکلاتتون رو لیست وارد همینجا بنویسید. من کد رو براتون آماده کنم(در اوغات بیکاریم ;)).

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


لینک به پست

مهربانا...!

خيلي لطف داريد.

خواسته من دقيقاً همون چيزي هست كه در پست اول در موردش كمك خواستم.

در واقع يك اسلايدر از نويسندگان سايت كه با jquery امكان نمايش بقيه اونها فراهم ميشه.

اگر شما زحمت بكشيد، فقط بخش استخراج نويسنده‌ها به همراه لينك سه تا از نوشته‌هاشون.

تعداد نويسنده‌ها هم مشخص نيست.

البته با توجه به فعاليتي كه از شما در اينجا و اونجا مشاهده مي‌شه، بعيد مي‌دونم حالا حالا نوبت به ما برسه شما وقت فراغتي پيدا كنيد.

البته شما در اين زمينه خيلي كمك كرديد ولي چه كار كنم كه من خيلي وارد نيستم :blink:

ویرایش شده در توسط pirooz

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


لینک به پست

من روی این بخش کار میکنم.

پ.ن:

اونجا خیلی وقت هست فعالیتی نداریم ;)

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


لینک به پست

اگر زحمت می‌کشید و دو سه روزه این کار دست ما رو میگره لطف کنید خبر بدید که پروژه رو توی پونیشا لغو کنم.

البته من دوست داشتم زحمت شما بدون اجر نباشه.

خیلی لطف دارید.

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


لینک به پست

شما اونجا رو میتونید لغو کنید. یا من یا یکی از دوستان کمکتون میکنه.

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


لینک به پست

بي‌نهايت از لطفتون متشكرم.

بي‌صبرانه منتظرم.

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


لینک به پست

:wacko: :wacko: :wacko:

اگر بدونم كاري انجام شده يا نه خيلي خوب مي‌شه.

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


لینک به پست

بله در حال اجرا هست.

تکمیل شد در تاپیک قرار میدم.

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


لینک به پست

این کد رو تست کنید:

<?php
$exclude = '1';
$all_admins = get_users('role=administrator');
foreach ($all_admins as $admins) {
$exclude .= ','.$admins->ID;
}
$users = get_users("exclude=$exclude");
foreach ($users as $user) {
$author_id = $user->ID;
$author_name = get_userdata($author_id)->display_name;

echo $author_name;
query_posts("showposts=3&author=$author_id");
while (have_posts()) : the_post();
?>
<ul>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
</ul>
<?php
endwhile;
wp_reset_query();

}//end foreach
?>

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


لینک به پست

آقا خيلي سالاري

فقط يه مشكل هست.

اين كد نويسندگان را بر اساس نام نويسنده مرتب مي‌كنه.

user1

post 3 from user 1

post 2 from user 1

post 1 from user 1

user2

user3

user4

آنچه من مي‌خوام مرتب‌سازي نويسنده‌ها بر اساس آخرين ارسال است.

user 4

post 3 from user 4

post 2 from user 4

post 1 from user 4

user2

user5

user1

به نظرم، دوتا حلقه بايد توي هم باشه. يكي براي استخراج نويسنده‌ها بر اساس آخرين نوشته‌ها

و ديگري استخراج نوشته‌هاي هر نويسنده.

خيلي ممنونم.

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


لینک به پست

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

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


لینک به پست

توی مثال نمونه‌اش را ذکر کردم.

الان کاربرها بر اساس نام کاربری مرتب شده‌اند.

کاربرها اهمیت ندارند. این آخرین پست هست که مهم است. باید دیده شود که مربوط به کدام نویسنده است، بعد نام نویسنده بیاید و سه تا از بقیه نوشته‌های او.

به همین ترتیب پست بعدی. اگر مربوط به کاربر اول بود که نامش ذکر شده است (و بالتبع عنوان پست هم جزء مطالب آن نویسنده آمده است) این پست نادیده گرفته می‌شود و اگر مربوط به نویسنده جدید هست، نام نویسنده و سه تا از نوشته‌های او ذکر می‌شود.

در نتیجه همیشه در قسمت بالای لیست، نویسنده‌ای قرار می‌گیرد که آخرین پست را ارسال کرده است.

بابا شب زنده‌دار.... ;)

خیلی متشکرم.

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


لینک به پست

حقیقتش کمی گنگ شد برام!

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

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


لینک به پست

آقا مرتضي خيلي لطف داريد. بفرماييد. اين هم تصوير صفحه اول

post-1440-0-04086700-1360517613_thumb.pn

توجه بفرماييد كه

1 - من 10 تا نويسنده را مي‌خواهم فهرست كنم كه در اينجا شش‌تا را براي مثال آورده‌ام

2 - نويسنده‌هاي شماره 3، 4، 5 و 6 هركدام چند پست دارند كه در صفحه اول نيامده ولي در كل، مطالبي را به سايت ارسال كرده‌اند. پس بايد در ليست نوشته‌هاشون درج بشود.

نمي‌دونم چرا ايميل آگاه‌سازي پاسخ‌ها براي من نيومده. دو روز هست كه منتظر جواب هستم. فكر كردم كسي به فكر من نيست. اين را هم كه ديدم، به صورت اتفاقي دنبال چيز ديگه‌اي اومده بودم توي سايت كه ديدم مطلب جديد هست. :( فكر كنم چون عجله دارم اين بلاها سرم مياد. ;)

ویرایش شده در توسط pirooz

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


لینک به پست
1 - من 10 تا نويسنده را مي‌خواهم فهرست كنم كه در اينجا شش‌تا را براي مثال آورده‌ام

این مهم نیست. میشه محدودش کرد.

2 - نويسنده‌هاي شماره 3، 4، 5 و 6 هركدام چند پست دارند كه در صفحه اول نيامده ولي در كل، مطالبي را به سايت ارسال كرده‌اند. پس بايد در ليست نوشته‌هاشون درج بشود.

خوب اینهم لحاظ شده.اسمشون میاد و فقط براساس پست هایی که خودشون دادن در بالا لیست میشن.

اما من متوجه نشدم الان مشکلی که در کد مونده چی هست؟!

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

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط devil1367
      با سلام
      من یک فروشگاه دارم چون قالب قبلیم نیازهامو نمیتونست برطرف کنه یه قالب جدید از یکی از سایتها خریداری کردم
      سوالم اینه با نصب بسته اسان نصب اطلاعاتی یا محصولات قبلی که داشتم حذف میشن ؟
      چطوری قالب رو شبیه دمو دربیارم و صفحات و برگه ها import کنم.
       
      با تشکر
    • توسط armakcell
      با سلام بنده در سایتم میخواستم یک ابزارک قرار بدم مانند ابزارک این سایت
      http://powerturk.ir

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

    • توسط amir_hossein
      سلام دوستان من قصد دارم چندتا اسلاید کناره هم به صورت خطی (مثلا 4 تا اسلاید) اواسط صفحه اصلی یا انتهای صفحه قرار بدم.افزونه ای میتونید بهم معرفی کنید برای اینکار؟
    • توسط amir_hossein
      سلام دوستان من قصد دارم چندتا اسلاید کناره هم به صورت خطی (مثلا 4 تا اسلاید) اواسط صفحه اصلی یا انتهای صفحه قرار بدم.افزونه ای میتونید بهم معرفی کنید برای اینکار؟
    • توسط mosi1672
      سلام 
      من یه سایتی دارم که برای همایش علمی مقالات رو با فرمی که با افزونه گرویتی فرم ساخته شده دریافت میکنم.
      خواستم بدونم آیا راهی وجود داره که امار مقالات دریافتی رو به صورت داینامیک و پویا بتونم با روی سایت اصلی نشون بدم؟ البته با ظاهر زیبا
      مثل این سایت تایپ ایران که امار پروژه ها و کاربرانش رو به صورت نمودار دایره ای نشون میده..
      این ادرس سایت :
      ادرس فرم:http://ihsc.bsbmu.ir/maghaleh/
      ادرس سایت:http://ihsc.bsbmu.ir/

      میدونم خیلی ساده گفتم ولی اگر امکان داره راهنمایی بفرمایید