awx0ne 5 ارسال شده در آبان 93 گزارش بازنشر ارسال شده در آبان 93 با عرض سلاممی خوام یه همچین بخشی رو در سایتم ایجاد کنم منتها هر چه قدر میگردم بیشتر گیج میشم.متاسفانهدر این بین علاوه بر سوال اصلیم یه چند تا سوال فرعی هم برام پیش اومده که میپرسمیک - وقتی یه همچین کدی رو پیدا میکنیم باید چه طور ازش استفاده کنیم؟ select {$wpdb->users}.user_nicename, count({$wpdb->posts}.ID) as post_countfrom {$wpdb->posts} left join {$wpdb->users} on {$wpdb->posts}.post_author = {$wpdb->users}.ID where {$wpdb->posts}post_status = 'publish';دو - من قصد داشتم از بخشی از کد زیر استفاده کنم ولی هر کاری کردم نتونستم اون رو اکو کنم و همش ایراد میگرفت <p>User ID ' . $user->ID . ' ' . $user->user_firstname . ' ' . $user->user_lastname . ', posts in category 3: ' . $count . '</p>سه - سوال اصلیم که همونیه که توی تیتر سوال پرسیدم و اون هم اینه که چه طور بر فرض 5 ارسال کننده برتر رو بر اساس تعداد ارسال نشون بدمبه این صورت : نام کاربری - تعداد پستالبته یه نیمچه کد هم تونستم پیدا کنم ولی یه بخش کوچیکش رو نمیدونم چی کار کنم و اون هم بخش نمایش تعداد پست های هر کاربره<?php foreach ( get_users('order=DESC&orderby=post_count&number=5') as $user ) : ?><li class="wicol"><span class="quantity">1</span><span class="itemName"><?php echo $user->display_name; ?></span><span class="popbtn" data-original-title="" title=""><a class="arrow"></a></span><span class="posts-number">این بخش رو نمیدونم چی رو باید اکو کنم تا تعدا پست ها رو نشون بده</span></li><?php endforeach; ?>دست شما هم درد نکنه نقل قول لینک به ارسال
majid1889 733 ارسال شده در آبان 93 گزارش بازنشر ارسال شده در آبان 93 از این تابع استفاده کنید :<?php wp_list_authors('orderby=post_count&&order=DESC'); ?> 3 نقل قول لینک به ارسال
awx0ne 5 ارسال شده در آبان 93 مالک گزارش بازنشر ارسال شده در آبان 93 در در 11/19/2014 at 00:10، majid1889 گفته است : از این تابع استفاده کنید : <?php wp_list_authors('orderby=post_count&&order=DESC'); ?> دست شما درد نکنه ولی شما مثل اینکه دقیق متوجه منظور بنده نشدید. من بر اساس تعدا پست یوزر ها رو مرتب کردم فقط نمیدونم با چه کدی تعدا پست ها رو نشون بدم <?php foreach ( get_users('order=DESC&orderby=post_count&number=5') as $user ) : ?> <li class="wicol"> <span class="quantity">1</span> <span class="itemName"><?php echo $user->display_name; ?></span> <span class="popbtn" data-original-title="" title=""><a class="arrow"></a></span> <span class="posts-number">این بخش رو نمیدونم چی رو باید اکو کنم تا تعدا پست ها رو نشون بده</span> </li> <?php endforeach; ?> نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آبان 93 گزارش بازنشر ارسال شده در آبان 93 کدی که دادند پاسخ تایپیکتونه اما سئوالات دیگه تون توصیه اول: هر کدی را از هرجا پیدا کردید ازش استفاده نکنید کدشما احضار کننده کوئری از دیتابیسه که با توجه به توابع وردپرس برای مورد شما کارایی نداره در کد دوم هم $user->display_nameرو می تونید اکو کنیددست شما درد نکنه ولی شما مثل اینکه دقیق متوجه منظور بنده نشدید.من بر اساس تعدا پست یوزر ها رو مرتب کردمفقط نمیدونم با چه کدی تعدا پست ها رو نشون بدم<?php foreach ( get_users('order=DESC&orderby=post_count&number=5') as $user ) : ?><li class="wicol"><span class="quantity">1</span><span class="itemName"><?php echo $user->display_name; ?></span><span class="popbtn" data-original-title="" title=""><a class="arrow"></a></span><span class="posts-number">این بخش رو نمیدونم چی رو باید اکو کنم تا تعدا پست ها رو نشون بده</span></li><?php endforeach; ?>1. این کد را به functions.php اضافه کنید function get_user_posts_count($user_ID){$args = array('author' => $user_ID, 'posts_per_page' => -1);$the_query = new WP_Query( $args );if ($the_query->post_count > 0){return $the_query->post_count;}else{return 0;}}و get_user_posts_count($user->ID);را در کد خودتون اکو کنید 3 نقل قول لینک به ارسال
awx0ne 5 ارسال شده در آبان 93 مالک گزارش بازنشر ارسال شده در آبان 93 با سلامدست شما درد نکنه واقعا لطف کردیدفقط یه سوال؟الان حلقه ی من شده این<?php foreach ( get_users('order=DESC&orderby=post_count&number=5') as $user ) : ?><li class="wicol"><span class="quantity">1</span><span class="itemName"><?php echo $user->display_name; ?></span><span class="popbtn" data-original-title="" title=""><a class="arrow"></a></span><span class="posts-number"><?php echo get_user_posts_count($user->ID); ?></span></li><?php endforeach; ?>آیا میشه بهینه ترش کرد؟یعنی همین کارکرد رو داشته باشه ولی ساده تر؟با تشکر از شما نقل قول لینک به ارسال
awx0ne 5 ارسال شده در آبان 93 مالک گزارش بازنشر ارسال شده در آبان 93 (ویرایش شده) با سلام مجددمتاسفانه به یه مشکل دیگه برخوردم و اون هم اینه کهدر حلقه<?php foreach ( get_users('order=DESC&orderby=post_count&number=5') as $user ) : ?><li class="wicol">[color=#ff0000]<span class="quantity">1</span>[/color]<span class="itemName"><?php echo $user->display_name; ?></span><span class="popbtn" data-original-title="" title=""><a class="arrow"></a></span><span class="posts-number"><?php echo get_user_posts_count($user->ID); ?></span></li><?php endforeach; ?><span class="quantity">1</span>اون قسمتی که با قرمز نشون دادم باید برای هر نفر یه عدد بنویسهیعنی نفر اول یک و دوم دو و سوم سه.ولی الان همیشه 1 رو نشون میده و حتی از counter-increment و counter-reset هم استفاده کردم . شماره رو میسازه ولی همیشه یک رو نشون میده.نمیدونم چی کار کنملطفا اگه وقت داشتید جواب ما رو هم بدیددست شما درد نکنه ویرایش شده آبان 93 توسط awx0ne نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آبان 93 گزارش بازنشر ارسال شده در آبان 93 <?php $x=1;foreach ( get_users('order=DESC&orderby=post_count&number=5') as $user ) : ?><li class="wicol"><span class="quantity"><?php echo $x;?></span><span class="itemName"><?php echo $user->display_name; ?></span><span class="popbtn" data-original-title="" title=""><a class="arrow"></a></span><span class="posts-number"><?php echo get_user_posts_count($user->ID); ?></span></li><?php$x +=1;endforeach; ?> 2 نقل قول لینک به ارسال
majid1889 733 ارسال شده در آبان 93 گزارش بازنشر ارسال شده در آبان 93 من اینکارو تو سایت یکی از مشتریا انجام دادماینطور عمل کردم :<ul class="author-list"><li>نویسندگان !</li><?php wp_list_authors('exclude_admin=0&&orderby=post_count&&order=DESC&&optioncount=true'); ?></ul> 3 نقل قول لینک به ارسال
awx0ne 5 ارسال شده در آبان 93 مالک گزارش بازنشر ارسال شده در آبان 93 (ویرایش شده) آقای فخار و آقا مجید ، دست شما درد نکنهبه کمک شما این بخش تموم شد.با این زبان ضعیف بنده فکر نکنم تا 100 سال میتونستم این کد رو درستش کنم.امیدوارم بتونم جبران کنم ویرایش شده آبان 93 توسط awx0ne 1 نقل قول لینک به ارسال
awx0ne 5 ارسال شده در آبان 93 مالک گزارش بازنشر ارسال شده در آبان 93 (ویرایش شده) با سلاممثل اینکه هنوز یه نکته دیگه هم وجود دارهو اون هم اینه که من داخل حلقه یه تولتیپ گذاشتم به این صورتو میخوام که این تولتیپ هم جزوی از حلقه باشهولی نیستبوسیله افزونه extra user details که آقا مجید معرفی کردن یه چند تا فیلد اضافه کردم و کد مخصوصش به هر کدوم رو در تگ a در تولتیپ قراردادم ولی تمام لینکها یکیهنمیدونم چی کار کنماین کد ی که داخل فایل ایندکس هست <?php $x=1; foreach ( get_users( 'order=DESC&orderby=post_count&number=5') as $user ) : ?><li class="wicol"> <span class="quantity"><?php echo $x;?></span> <span class="itemName"><?php echo $user->display_name; ?></span> <span class="popbtn" data-original-title="" title=""><a class="arrow"></a></span> <span class="posts-number"><?php echo get_user_posts_count($user->ID); ?></span> <div id="popover" style="display: none"> <a href="<?php the_author_meta('fb12'); ?>"><i class="fa fa-facebook"></i></span></a> <a href="<?php the_author_meta('yt12'); ?>"><i class="fa fa-youtube"></i></a> <a href="<?php the_author_meta('gp12'); ?>"><i class="fa fa-google-plus"></i></a> <a href="<?php the_author_meta('ig12'); ?>"><i class="fa fa-instagram"></i></a> </div></li><?php $x +=1; endforeach; ?>این هم کدی که داخل فایل js هست$(function() {var pop = $('.popbtn');var row = $('.wicol:not(:first):not(:last)');pop.popover({trigger: 'manual',html: true,container: 'body',placement: 'bottom',animation: false,content: function() {return $('#popover').html();}});pop.on('click', function(e) {pop.popover('toggle');pop.not(this).popover('hide');});$(window).on('resize', function() {pop.popover('hide');});row.on('touchend', function(e) {$(this).find('.popbtn').popover('toggle');row.not(this).find('.popbtn').popover('hide');return false;});});در ضمن یه نکته در طراحی از بوت استرپ استفاده کردم. ویرایش شده آبان 93 توسط awx0ne نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آبان 93 گزارش بازنشر ارسال شده در آبان 93 منظورتون از اینکه الان توی حلقه نیست چیه؟با این کدها فقط یک ای دی popover فراخوانی می شه این را $('#popover').html();به $(this).nextAll('#popover').html();تغییر بدید و تست کنید 2 نقل قول لینک به ارسال
awx0ne 5 ارسال شده در آبان 93 مالک گزارش بازنشر ارسال شده در آبان 93 متاسفانه اثری نداشت کدی که معرفی کردید.منظورم اینه که مشخصات هر یوزری رو که در حلقه ی پر ارسال ترین ها قرار گرفتهمراه با یوزرنیم و تعداد ارسال هاشاون فیلدایی که اضافه کردم رو هم نشون بده.در حال حاظر فقط مال یک یوزر برای همه نشون داده میشه نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آبان 93 گزارش بازنشر ارسال شده در آبان 93 کد جی کوئریتون بر اساس یک آی دیهکد جی کوئری را اصلاح کنید مشکلتون ربطی به موضوع تایپیک نداره اگر مشکلتون رو نتوستید حل کنید در بخش مربوط به css یا jquery تایپیک بزنید 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .